
(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 16 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (t l k) :precision binary64 (/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))
double code(double t, double l, double k) {
return 2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t), 2.0)) + 1.0));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = 2.0d0 / (((((t ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * ((1.0d0 + ((k / t) ** 2.0d0)) + 1.0d0))
end function
public static double code(double t, double l, double k) {
return 2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * ((1.0 + Math.pow((k / t), 2.0)) + 1.0));
}
def code(t, l, k): return 2.0 / ((((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * ((1.0 + math.pow((k / t), 2.0)) + 1.0))
function code(t, l, k) return Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(Float64(1.0 + (Float64(k / t) ^ 2.0)) + 1.0))) end
function tmp = code(t, l, k) tmp = 2.0 / (((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + ((k / t) ^ 2.0)) + 1.0)); end
code[t_, l_, k_] := N[(2.0 / N[(N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / N[(l * l), $MachinePrecision]), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[Tan[k], $MachinePrecision]), $MachinePrecision] * N[(N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}
\end{array}
(FPCore (t l k)
:precision binary64
(let* ((t_1 (* (tan k) (+ 1.0 (+ 1.0 (pow (/ k t) 2.0)))))
(t_2 (* (/ t l) (sin k))))
(if (<= t -7.6e+25)
(/ 2.0 (* (* (* t (/ t l)) t_2) t_1))
(if (<= t 5.4e-73)
(* 2.0 (* (/ (cos k) (pow (sin k) 2.0)) (/ (pow (/ l k) 2.0) t)))
(/ 2.0 (* t_1 (* t_2 (/ t (/ l t)))))))))
double code(double t, double l, double k) {
double t_1 = tan(k) * (1.0 + (1.0 + pow((k / t), 2.0)));
double t_2 = (t / l) * sin(k);
double tmp;
if (t <= -7.6e+25) {
tmp = 2.0 / (((t * (t / l)) * t_2) * t_1);
} else if (t <= 5.4e-73) {
tmp = 2.0 * ((cos(k) / pow(sin(k), 2.0)) * (pow((l / k), 2.0) / t));
} else {
tmp = 2.0 / (t_1 * (t_2 * (t / (l / t))));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = tan(k) * (1.0d0 + (1.0d0 + ((k / t) ** 2.0d0)))
t_2 = (t / l) * sin(k)
if (t <= (-7.6d+25)) then
tmp = 2.0d0 / (((t * (t / l)) * t_2) * t_1)
else if (t <= 5.4d-73) then
tmp = 2.0d0 * ((cos(k) / (sin(k) ** 2.0d0)) * (((l / k) ** 2.0d0) / t))
else
tmp = 2.0d0 / (t_1 * (t_2 * (t / (l / t))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = Math.tan(k) * (1.0 + (1.0 + Math.pow((k / t), 2.0)));
double t_2 = (t / l) * Math.sin(k);
double tmp;
if (t <= -7.6e+25) {
tmp = 2.0 / (((t * (t / l)) * t_2) * t_1);
} else if (t <= 5.4e-73) {
tmp = 2.0 * ((Math.cos(k) / Math.pow(Math.sin(k), 2.0)) * (Math.pow((l / k), 2.0) / t));
} else {
tmp = 2.0 / (t_1 * (t_2 * (t / (l / t))));
}
return tmp;
}
def code(t, l, k): t_1 = math.tan(k) * (1.0 + (1.0 + math.pow((k / t), 2.0))) t_2 = (t / l) * math.sin(k) tmp = 0 if t <= -7.6e+25: tmp = 2.0 / (((t * (t / l)) * t_2) * t_1) elif t <= 5.4e-73: tmp = 2.0 * ((math.cos(k) / math.pow(math.sin(k), 2.0)) * (math.pow((l / k), 2.0) / t)) else: tmp = 2.0 / (t_1 * (t_2 * (t / (l / t)))) return tmp
function code(t, l, k) t_1 = Float64(tan(k) * Float64(1.0 + Float64(1.0 + (Float64(k / t) ^ 2.0)))) t_2 = Float64(Float64(t / l) * sin(k)) tmp = 0.0 if (t <= -7.6e+25) tmp = Float64(2.0 / Float64(Float64(Float64(t * Float64(t / l)) * t_2) * t_1)); elseif (t <= 5.4e-73) tmp = Float64(2.0 * Float64(Float64(cos(k) / (sin(k) ^ 2.0)) * Float64((Float64(l / k) ^ 2.0) / t))); else tmp = Float64(2.0 / Float64(t_1 * Float64(t_2 * Float64(t / Float64(l / t))))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = tan(k) * (1.0 + (1.0 + ((k / t) ^ 2.0))); t_2 = (t / l) * sin(k); tmp = 0.0; if (t <= -7.6e+25) tmp = 2.0 / (((t * (t / l)) * t_2) * t_1); elseif (t <= 5.4e-73) tmp = 2.0 * ((cos(k) / (sin(k) ^ 2.0)) * (((l / k) ^ 2.0) / t)); else tmp = 2.0 / (t_1 * (t_2 * (t / (l / t)))); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(N[Tan[k], $MachinePrecision] * N[(1.0 + N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(N[(t / l), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -7.6e+25], N[(2.0 / N[(N[(N[(t * N[(t / l), $MachinePrecision]), $MachinePrecision] * t$95$2), $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 5.4e-73], N[(2.0 * N[(N[(N[Cos[k], $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[(l / k), $MachinePrecision], 2.0], $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(t$95$1 * N[(t$95$2 * N[(t / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \tan k \cdot \left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right)\\
t_2 := \frac{t}{\ell} \cdot \sin k\\
\mathbf{if}\;t \leq -7.6 \cdot 10^{+25}:\\
\;\;\;\;\frac{2}{\left(\left(t \cdot \frac{t}{\ell}\right) \cdot t_2\right) \cdot t_1}\\
\mathbf{elif}\;t \leq 5.4 \cdot 10^{-73}:\\
\;\;\;\;2 \cdot \left(\frac{\cos k}{{\sin k}^{2}} \cdot \frac{{\left(\frac{\ell}{k}\right)}^{2}}{t}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{t_1 \cdot \left(t_2 \cdot \frac{t}{\frac{\ell}{t}}\right)}\\
\end{array}
\end{array}
if t < -7.6000000000000001e25Initial program 65.6%
associate-*l*65.6%
+-commutative65.6%
Simplified65.6%
unpow365.6%
times-frac76.5%
Applied egg-rr76.5%
*-un-lft-identity76.5%
associate-/l*87.2%
Applied egg-rr87.2%
*-un-lft-identity87.2%
associate-/l*76.5%
pow176.5%
associate-*l*79.5%
associate-/l*93.2%
div-inv93.2%
clear-num93.3%
Applied egg-rr93.3%
if -7.6000000000000001e25 < t < 5.39999999999999989e-73Initial program 37.7%
associate-/l/37.7%
associate-*l/37.6%
associate-*l/37.6%
associate-/r/38.4%
*-commutative38.4%
associate-/l/38.4%
associate-*r*38.4%
*-commutative38.4%
associate-*r*38.4%
*-commutative38.4%
Simplified38.4%
Taylor expanded in k around inf 66.1%
associate-/r*65.3%
*-commutative65.3%
associate-/l*65.3%
unpow265.3%
unpow265.3%
Simplified65.3%
Taylor expanded in l around 0 65.3%
associate-*r/65.3%
unpow265.3%
unpow265.3%
times-frac87.2%
Simplified87.2%
Taylor expanded in k around inf 66.1%
associate-/r*65.3%
associate-*r/65.3%
unpow265.3%
unpow265.3%
times-frac87.2%
unpow287.2%
associate-/r*89.6%
associate-*l/89.7%
associate-*r/89.7%
Simplified89.7%
if 5.39999999999999989e-73 < t Initial program 63.7%
associate-*l*63.7%
+-commutative63.7%
Simplified63.7%
unpow363.7%
times-frac72.1%
Applied egg-rr72.1%
*-un-lft-identity72.1%
associate-/l*77.3%
Applied egg-rr77.3%
*-un-lft-identity77.3%
associate-/l*72.1%
pow172.1%
associate-*l*78.7%
associate-/l*84.0%
div-inv83.9%
clear-num83.9%
Applied egg-rr83.9%
*-commutative83.9%
associate-/r/84.0%
Applied egg-rr84.0%
Final simplification89.0%
(FPCore (t l k)
:precision binary64
(if (or (<= t -1.85e+24) (not (<= t 6.1e-74)))
(/
2.0
(*
(* (* t (/ t l)) (* (/ t l) (sin k)))
(* (tan k) (+ 1.0 (+ 1.0 (pow (/ k t) 2.0))))))
(* 2.0 (* (/ (cos k) (pow (sin k) 2.0)) (/ (pow (/ l k) 2.0) t)))))
double code(double t, double l, double k) {
double tmp;
if ((t <= -1.85e+24) || !(t <= 6.1e-74)) {
tmp = 2.0 / (((t * (t / l)) * ((t / l) * sin(k))) * (tan(k) * (1.0 + (1.0 + pow((k / t), 2.0)))));
} else {
tmp = 2.0 * ((cos(k) / pow(sin(k), 2.0)) * (pow((l / k), 2.0) / t));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if ((t <= (-1.85d+24)) .or. (.not. (t <= 6.1d-74))) then
tmp = 2.0d0 / (((t * (t / l)) * ((t / l) * sin(k))) * (tan(k) * (1.0d0 + (1.0d0 + ((k / t) ** 2.0d0)))))
else
tmp = 2.0d0 * ((cos(k) / (sin(k) ** 2.0d0)) * (((l / k) ** 2.0d0) / t))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if ((t <= -1.85e+24) || !(t <= 6.1e-74)) {
tmp = 2.0 / (((t * (t / l)) * ((t / l) * Math.sin(k))) * (Math.tan(k) * (1.0 + (1.0 + Math.pow((k / t), 2.0)))));
} else {
tmp = 2.0 * ((Math.cos(k) / Math.pow(Math.sin(k), 2.0)) * (Math.pow((l / k), 2.0) / t));
}
return tmp;
}
def code(t, l, k): tmp = 0 if (t <= -1.85e+24) or not (t <= 6.1e-74): tmp = 2.0 / (((t * (t / l)) * ((t / l) * math.sin(k))) * (math.tan(k) * (1.0 + (1.0 + math.pow((k / t), 2.0))))) else: tmp = 2.0 * ((math.cos(k) / math.pow(math.sin(k), 2.0)) * (math.pow((l / k), 2.0) / t)) return tmp
function code(t, l, k) tmp = 0.0 if ((t <= -1.85e+24) || !(t <= 6.1e-74)) tmp = Float64(2.0 / Float64(Float64(Float64(t * Float64(t / l)) * Float64(Float64(t / l) * sin(k))) * Float64(tan(k) * Float64(1.0 + Float64(1.0 + (Float64(k / t) ^ 2.0)))))); else tmp = Float64(2.0 * Float64(Float64(cos(k) / (sin(k) ^ 2.0)) * Float64((Float64(l / k) ^ 2.0) / t))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if ((t <= -1.85e+24) || ~((t <= 6.1e-74))) tmp = 2.0 / (((t * (t / l)) * ((t / l) * sin(k))) * (tan(k) * (1.0 + (1.0 + ((k / t) ^ 2.0))))); else tmp = 2.0 * ((cos(k) / (sin(k) ^ 2.0)) * (((l / k) ^ 2.0) / t)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[Or[LessEqual[t, -1.85e+24], N[Not[LessEqual[t, 6.1e-74]], $MachinePrecision]], N[(2.0 / N[(N[(N[(t * N[(t / l), $MachinePrecision]), $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(1.0 + N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[Cos[k], $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[(l / k), $MachinePrecision], 2.0], $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -1.85 \cdot 10^{+24} \lor \neg \left(t \leq 6.1 \cdot 10^{-74}\right):\\
\;\;\;\;\frac{2}{\left(\left(t \cdot \frac{t}{\ell}\right) \cdot \left(\frac{t}{\ell} \cdot \sin k\right)\right) \cdot \left(\tan k \cdot \left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\frac{\cos k}{{\sin k}^{2}} \cdot \frac{{\left(\frac{\ell}{k}\right)}^{2}}{t}\right)\\
\end{array}
\end{array}
if t < -1.85e24 or 6.0999999999999998e-74 < t Initial program 64.6%
associate-*l*64.6%
+-commutative64.6%
Simplified64.6%
unpow364.6%
times-frac74.1%
Applied egg-rr74.1%
*-un-lft-identity74.1%
associate-/l*81.9%
Applied egg-rr81.9%
*-un-lft-identity81.9%
associate-/l*74.1%
pow174.1%
associate-*l*79.1%
associate-/l*88.3%
div-inv88.3%
clear-num88.3%
Applied egg-rr88.3%
if -1.85e24 < t < 6.0999999999999998e-74Initial program 37.7%
associate-/l/37.7%
associate-*l/37.6%
associate-*l/37.6%
associate-/r/38.4%
*-commutative38.4%
associate-/l/38.4%
associate-*r*38.4%
*-commutative38.4%
associate-*r*38.4%
*-commutative38.4%
Simplified38.4%
Taylor expanded in k around inf 66.1%
associate-/r*65.3%
*-commutative65.3%
associate-/l*65.3%
unpow265.3%
unpow265.3%
Simplified65.3%
Taylor expanded in l around 0 65.3%
associate-*r/65.3%
unpow265.3%
unpow265.3%
times-frac87.2%
Simplified87.2%
Taylor expanded in k around inf 66.1%
associate-/r*65.3%
associate-*r/65.3%
unpow265.3%
unpow265.3%
times-frac87.2%
unpow287.2%
associate-/r*89.6%
associate-*l/89.7%
associate-*r/89.7%
Simplified89.7%
Final simplification88.9%
(FPCore (t l k)
:precision binary64
(if (<= t -4e+24)
(/
2.0
(*
(* (tan k) (+ 1.0 (+ 1.0 (pow (/ k t) 2.0))))
(* (sin k) (* (/ t l) (* t (/ t l))))))
(if (<= t 5.4e-73)
(* 2.0 (* (/ (cos k) (pow (sin k) 2.0)) (/ (pow (/ l k) 2.0) t)))
(if (<= t 1.6e+37)
(/ (/ l k) (/ (pow t 3.0) (/ l k)))
(/
2.0
(*
(* (sin k) (* (/ t l) (/ t (/ l t))))
(* (tan k) (+ 1.0 (+ 1.0 (* (/ k t) (/ k t)))))))))))
double code(double t, double l, double k) {
double tmp;
if (t <= -4e+24) {
tmp = 2.0 / ((tan(k) * (1.0 + (1.0 + pow((k / t), 2.0)))) * (sin(k) * ((t / l) * (t * (t / l)))));
} else if (t <= 5.4e-73) {
tmp = 2.0 * ((cos(k) / pow(sin(k), 2.0)) * (pow((l / k), 2.0) / t));
} else if (t <= 1.6e+37) {
tmp = (l / k) / (pow(t, 3.0) / (l / k));
} else {
tmp = 2.0 / ((sin(k) * ((t / l) * (t / (l / t)))) * (tan(k) * (1.0 + (1.0 + ((k / t) * (k / t))))));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (t <= (-4d+24)) then
tmp = 2.0d0 / ((tan(k) * (1.0d0 + (1.0d0 + ((k / t) ** 2.0d0)))) * (sin(k) * ((t / l) * (t * (t / l)))))
else if (t <= 5.4d-73) then
tmp = 2.0d0 * ((cos(k) / (sin(k) ** 2.0d0)) * (((l / k) ** 2.0d0) / t))
else if (t <= 1.6d+37) then
tmp = (l / k) / ((t ** 3.0d0) / (l / k))
else
tmp = 2.0d0 / ((sin(k) * ((t / l) * (t / (l / t)))) * (tan(k) * (1.0d0 + (1.0d0 + ((k / t) * (k / t))))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= -4e+24) {
tmp = 2.0 / ((Math.tan(k) * (1.0 + (1.0 + Math.pow((k / t), 2.0)))) * (Math.sin(k) * ((t / l) * (t * (t / l)))));
} else if (t <= 5.4e-73) {
tmp = 2.0 * ((Math.cos(k) / Math.pow(Math.sin(k), 2.0)) * (Math.pow((l / k), 2.0) / t));
} else if (t <= 1.6e+37) {
tmp = (l / k) / (Math.pow(t, 3.0) / (l / k));
} else {
tmp = 2.0 / ((Math.sin(k) * ((t / l) * (t / (l / t)))) * (Math.tan(k) * (1.0 + (1.0 + ((k / t) * (k / t))))));
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= -4e+24: tmp = 2.0 / ((math.tan(k) * (1.0 + (1.0 + math.pow((k / t), 2.0)))) * (math.sin(k) * ((t / l) * (t * (t / l))))) elif t <= 5.4e-73: tmp = 2.0 * ((math.cos(k) / math.pow(math.sin(k), 2.0)) * (math.pow((l / k), 2.0) / t)) elif t <= 1.6e+37: tmp = (l / k) / (math.pow(t, 3.0) / (l / k)) else: tmp = 2.0 / ((math.sin(k) * ((t / l) * (t / (l / t)))) * (math.tan(k) * (1.0 + (1.0 + ((k / t) * (k / t)))))) return tmp
function code(t, l, k) tmp = 0.0 if (t <= -4e+24) tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(1.0 + Float64(1.0 + (Float64(k / t) ^ 2.0)))) * Float64(sin(k) * Float64(Float64(t / l) * Float64(t * Float64(t / l)))))); elseif (t <= 5.4e-73) tmp = Float64(2.0 * Float64(Float64(cos(k) / (sin(k) ^ 2.0)) * Float64((Float64(l / k) ^ 2.0) / t))); elseif (t <= 1.6e+37) tmp = Float64(Float64(l / k) / Float64((t ^ 3.0) / Float64(l / k))); else tmp = Float64(2.0 / Float64(Float64(sin(k) * Float64(Float64(t / l) * Float64(t / Float64(l / t)))) * Float64(tan(k) * Float64(1.0 + Float64(1.0 + Float64(Float64(k / t) * Float64(k / t))))))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= -4e+24) tmp = 2.0 / ((tan(k) * (1.0 + (1.0 + ((k / t) ^ 2.0)))) * (sin(k) * ((t / l) * (t * (t / l))))); elseif (t <= 5.4e-73) tmp = 2.0 * ((cos(k) / (sin(k) ^ 2.0)) * (((l / k) ^ 2.0) / t)); elseif (t <= 1.6e+37) tmp = (l / k) / ((t ^ 3.0) / (l / k)); else tmp = 2.0 / ((sin(k) * ((t / l) * (t / (l / t)))) * (tan(k) * (1.0 + (1.0 + ((k / t) * (k / t)))))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, -4e+24], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(1.0 + N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[(t * N[(t / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 5.4e-73], N[(2.0 * N[(N[(N[Cos[k], $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[(l / k), $MachinePrecision], 2.0], $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.6e+37], N[(N[(l / k), $MachinePrecision] / N[(N[Power[t, 3.0], $MachinePrecision] / N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[(t / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(1.0 + N[(1.0 + N[(N[(k / t), $MachinePrecision] * N[(k / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -4 \cdot 10^{+24}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot \left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right)\right) \cdot \left(\sin k \cdot \left(\frac{t}{\ell} \cdot \left(t \cdot \frac{t}{\ell}\right)\right)\right)}\\
\mathbf{elif}\;t \leq 5.4 \cdot 10^{-73}:\\
\;\;\;\;2 \cdot \left(\frac{\cos k}{{\sin k}^{2}} \cdot \frac{{\left(\frac{\ell}{k}\right)}^{2}}{t}\right)\\
\mathbf{elif}\;t \leq 1.6 \cdot 10^{+37}:\\
\;\;\;\;\frac{\frac{\ell}{k}}{\frac{{t}^{3}}{\frac{\ell}{k}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\sin k \cdot \left(\frac{t}{\ell} \cdot \frac{t}{\frac{\ell}{t}}\right)\right) \cdot \left(\tan k \cdot \left(1 + \left(1 + \frac{k}{t} \cdot \frac{k}{t}\right)\right)\right)}\\
\end{array}
\end{array}
if t < -3.9999999999999999e24Initial program 65.6%
associate-*l*65.6%
+-commutative65.6%
Simplified65.6%
unpow365.6%
times-frac76.5%
Applied egg-rr76.5%
Taylor expanded in t around 0 76.5%
unpow265.0%
associate-*l/74.8%
*-commutative74.8%
Simplified87.2%
if -3.9999999999999999e24 < t < 5.39999999999999989e-73Initial program 37.7%
associate-/l/37.7%
associate-*l/37.6%
associate-*l/37.6%
associate-/r/38.4%
*-commutative38.4%
associate-/l/38.4%
associate-*r*38.4%
*-commutative38.4%
associate-*r*38.4%
*-commutative38.4%
Simplified38.4%
Taylor expanded in k around inf 66.1%
associate-/r*65.3%
*-commutative65.3%
associate-/l*65.3%
unpow265.3%
unpow265.3%
Simplified65.3%
Taylor expanded in l around 0 65.3%
associate-*r/65.3%
unpow265.3%
unpow265.3%
times-frac87.2%
Simplified87.2%
Taylor expanded in k around inf 66.1%
associate-/r*65.3%
associate-*r/65.3%
unpow265.3%
unpow265.3%
times-frac87.2%
unpow287.2%
associate-/r*89.6%
associate-*l/89.7%
associate-*r/89.7%
Simplified89.7%
if 5.39999999999999989e-73 < t < 1.60000000000000007e37Initial program 63.1%
associate-/l/63.1%
associate-*l/70.3%
associate-*l/67.9%
associate-/r/66.0%
*-commutative66.0%
associate-/l/66.0%
associate-*r*66.0%
*-commutative66.0%
associate-*r*66.0%
*-commutative66.0%
Simplified66.0%
Taylor expanded in k around 0 64.3%
unpow264.3%
*-commutative64.3%
unpow264.3%
Simplified64.3%
Taylor expanded in l around 0 64.3%
associate-/r*66.7%
unpow266.7%
unpow266.7%
times-frac85.2%
associate-/l*92.4%
Simplified92.4%
if 1.60000000000000007e37 < t Initial program 64.0%
associate-*l*64.0%
+-commutative64.0%
Simplified64.0%
unpow364.0%
times-frac75.2%
Applied egg-rr75.2%
*-un-lft-identity75.2%
associate-/l*83.4%
Applied egg-rr83.4%
unpow283.4%
Applied egg-rr83.4%
Final simplification88.2%
(FPCore (t l k)
:precision binary64
(if (<= t -4e+24)
(/
2.0
(*
(* (tan k) (+ 1.0 (+ 1.0 (pow (/ k t) 2.0))))
(* (sin k) (* (/ t l) (* t (/ t l))))))
(if (<= t 5.4e-73)
(* 2.0 (/ (* (cos k) (* (/ l k) (/ l k))) (* t (pow (sin k) 2.0))))
(if (<= t 2.8e+38)
(/ (/ l k) (/ (pow t 3.0) (/ l k)))
(/
2.0
(*
(* (sin k) (* (/ t l) (/ t (/ l t))))
(* (tan k) (+ 1.0 (+ 1.0 (* (/ k t) (/ k t)))))))))))
double code(double t, double l, double k) {
double tmp;
if (t <= -4e+24) {
tmp = 2.0 / ((tan(k) * (1.0 + (1.0 + pow((k / t), 2.0)))) * (sin(k) * ((t / l) * (t * (t / l)))));
} else if (t <= 5.4e-73) {
tmp = 2.0 * ((cos(k) * ((l / k) * (l / k))) / (t * pow(sin(k), 2.0)));
} else if (t <= 2.8e+38) {
tmp = (l / k) / (pow(t, 3.0) / (l / k));
} else {
tmp = 2.0 / ((sin(k) * ((t / l) * (t / (l / t)))) * (tan(k) * (1.0 + (1.0 + ((k / t) * (k / t))))));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (t <= (-4d+24)) then
tmp = 2.0d0 / ((tan(k) * (1.0d0 + (1.0d0 + ((k / t) ** 2.0d0)))) * (sin(k) * ((t / l) * (t * (t / l)))))
else if (t <= 5.4d-73) then
tmp = 2.0d0 * ((cos(k) * ((l / k) * (l / k))) / (t * (sin(k) ** 2.0d0)))
else if (t <= 2.8d+38) then
tmp = (l / k) / ((t ** 3.0d0) / (l / k))
else
tmp = 2.0d0 / ((sin(k) * ((t / l) * (t / (l / t)))) * (tan(k) * (1.0d0 + (1.0d0 + ((k / t) * (k / t))))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= -4e+24) {
tmp = 2.0 / ((Math.tan(k) * (1.0 + (1.0 + Math.pow((k / t), 2.0)))) * (Math.sin(k) * ((t / l) * (t * (t / l)))));
} else if (t <= 5.4e-73) {
tmp = 2.0 * ((Math.cos(k) * ((l / k) * (l / k))) / (t * Math.pow(Math.sin(k), 2.0)));
} else if (t <= 2.8e+38) {
tmp = (l / k) / (Math.pow(t, 3.0) / (l / k));
} else {
tmp = 2.0 / ((Math.sin(k) * ((t / l) * (t / (l / t)))) * (Math.tan(k) * (1.0 + (1.0 + ((k / t) * (k / t))))));
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= -4e+24: tmp = 2.0 / ((math.tan(k) * (1.0 + (1.0 + math.pow((k / t), 2.0)))) * (math.sin(k) * ((t / l) * (t * (t / l))))) elif t <= 5.4e-73: tmp = 2.0 * ((math.cos(k) * ((l / k) * (l / k))) / (t * math.pow(math.sin(k), 2.0))) elif t <= 2.8e+38: tmp = (l / k) / (math.pow(t, 3.0) / (l / k)) else: tmp = 2.0 / ((math.sin(k) * ((t / l) * (t / (l / t)))) * (math.tan(k) * (1.0 + (1.0 + ((k / t) * (k / t)))))) return tmp
function code(t, l, k) tmp = 0.0 if (t <= -4e+24) tmp = Float64(2.0 / Float64(Float64(tan(k) * Float64(1.0 + Float64(1.0 + (Float64(k / t) ^ 2.0)))) * Float64(sin(k) * Float64(Float64(t / l) * Float64(t * Float64(t / l)))))); elseif (t <= 5.4e-73) tmp = Float64(2.0 * Float64(Float64(cos(k) * Float64(Float64(l / k) * Float64(l / k))) / Float64(t * (sin(k) ^ 2.0)))); elseif (t <= 2.8e+38) tmp = Float64(Float64(l / k) / Float64((t ^ 3.0) / Float64(l / k))); else tmp = Float64(2.0 / Float64(Float64(sin(k) * Float64(Float64(t / l) * Float64(t / Float64(l / t)))) * Float64(tan(k) * Float64(1.0 + Float64(1.0 + Float64(Float64(k / t) * Float64(k / t))))))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= -4e+24) tmp = 2.0 / ((tan(k) * (1.0 + (1.0 + ((k / t) ^ 2.0)))) * (sin(k) * ((t / l) * (t * (t / l))))); elseif (t <= 5.4e-73) tmp = 2.0 * ((cos(k) * ((l / k) * (l / k))) / (t * (sin(k) ^ 2.0))); elseif (t <= 2.8e+38) tmp = (l / k) / ((t ^ 3.0) / (l / k)); else tmp = 2.0 / ((sin(k) * ((t / l) * (t / (l / t)))) * (tan(k) * (1.0 + (1.0 + ((k / t) * (k / t)))))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, -4e+24], N[(2.0 / N[(N[(N[Tan[k], $MachinePrecision] * N[(1.0 + N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[(t * N[(t / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 5.4e-73], N[(2.0 * N[(N[(N[Cos[k], $MachinePrecision] * N[(N[(l / k), $MachinePrecision] * N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.8e+38], N[(N[(l / k), $MachinePrecision] / N[(N[Power[t, 3.0], $MachinePrecision] / N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[(t / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(1.0 + N[(1.0 + N[(N[(k / t), $MachinePrecision] * N[(k / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -4 \cdot 10^{+24}:\\
\;\;\;\;\frac{2}{\left(\tan k \cdot \left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right)\right) \cdot \left(\sin k \cdot \left(\frac{t}{\ell} \cdot \left(t \cdot \frac{t}{\ell}\right)\right)\right)}\\
\mathbf{elif}\;t \leq 5.4 \cdot 10^{-73}:\\
\;\;\;\;2 \cdot \frac{\cos k \cdot \left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right)}{t \cdot {\sin k}^{2}}\\
\mathbf{elif}\;t \leq 2.8 \cdot 10^{+38}:\\
\;\;\;\;\frac{\frac{\ell}{k}}{\frac{{t}^{3}}{\frac{\ell}{k}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\sin k \cdot \left(\frac{t}{\ell} \cdot \frac{t}{\frac{\ell}{t}}\right)\right) \cdot \left(\tan k \cdot \left(1 + \left(1 + \frac{k}{t} \cdot \frac{k}{t}\right)\right)\right)}\\
\end{array}
\end{array}
if t < -3.9999999999999999e24Initial program 65.6%
associate-*l*65.6%
+-commutative65.6%
Simplified65.6%
unpow365.6%
times-frac76.5%
Applied egg-rr76.5%
Taylor expanded in t around 0 76.5%
unpow265.0%
associate-*l/74.8%
*-commutative74.8%
Simplified87.2%
if -3.9999999999999999e24 < t < 5.39999999999999989e-73Initial program 37.7%
associate-/l/37.7%
associate-*l/37.6%
associate-*l/37.6%
associate-/r/38.4%
*-commutative38.4%
associate-/l/38.4%
associate-*r*38.4%
*-commutative38.4%
associate-*r*38.4%
*-commutative38.4%
Simplified38.4%
Taylor expanded in k around inf 66.1%
associate-/r*65.3%
*-commutative65.3%
associate-/l*65.3%
unpow265.3%
unpow265.3%
Simplified65.3%
Taylor expanded in l around 0 65.3%
associate-*r/65.3%
unpow265.3%
unpow265.3%
times-frac87.2%
Simplified87.2%
if 5.39999999999999989e-73 < t < 2.8e38Initial program 63.1%
associate-/l/63.1%
associate-*l/70.3%
associate-*l/67.9%
associate-/r/66.0%
*-commutative66.0%
associate-/l/66.0%
associate-*r*66.0%
*-commutative66.0%
associate-*r*66.0%
*-commutative66.0%
Simplified66.0%
Taylor expanded in k around 0 64.3%
unpow264.3%
*-commutative64.3%
unpow264.3%
Simplified64.3%
Taylor expanded in l around 0 64.3%
associate-/r*66.7%
unpow266.7%
unpow266.7%
times-frac85.2%
associate-/l*92.4%
Simplified92.4%
if 2.8e38 < t Initial program 64.0%
associate-*l*64.0%
+-commutative64.0%
Simplified64.0%
unpow364.0%
times-frac75.2%
Applied egg-rr75.2%
*-un-lft-identity75.2%
associate-/l*83.4%
Applied egg-rr83.4%
unpow283.4%
Applied egg-rr83.4%
Final simplification87.0%
(FPCore (t l k)
:precision binary64
(let* ((t_1
(/
2.0
(*
(* (sin k) (* (/ t l) (/ t (/ l t))))
(* (tan k) (+ 1.0 (+ 1.0 (* (/ k t) (/ k t)))))))))
(if (<= t -3750.0)
t_1
(if (<= t 2.1e-73)
(* 2.0 (* (/ (cos k) (pow (sin k) 2.0)) (* (/ l t) (/ l (* k k)))))
(if (<= t 4e+37) (/ (/ l k) (/ (pow t 3.0) (/ l k))) t_1)))))
double code(double t, double l, double k) {
double t_1 = 2.0 / ((sin(k) * ((t / l) * (t / (l / t)))) * (tan(k) * (1.0 + (1.0 + ((k / t) * (k / t))))));
double tmp;
if (t <= -3750.0) {
tmp = t_1;
} else if (t <= 2.1e-73) {
tmp = 2.0 * ((cos(k) / pow(sin(k), 2.0)) * ((l / t) * (l / (k * k))));
} else if (t <= 4e+37) {
tmp = (l / k) / (pow(t, 3.0) / (l / k));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = 2.0d0 / ((sin(k) * ((t / l) * (t / (l / t)))) * (tan(k) * (1.0d0 + (1.0d0 + ((k / t) * (k / t))))))
if (t <= (-3750.0d0)) then
tmp = t_1
else if (t <= 2.1d-73) then
tmp = 2.0d0 * ((cos(k) / (sin(k) ** 2.0d0)) * ((l / t) * (l / (k * k))))
else if (t <= 4d+37) then
tmp = (l / k) / ((t ** 3.0d0) / (l / k))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = 2.0 / ((Math.sin(k) * ((t / l) * (t / (l / t)))) * (Math.tan(k) * (1.0 + (1.0 + ((k / t) * (k / t))))));
double tmp;
if (t <= -3750.0) {
tmp = t_1;
} else if (t <= 2.1e-73) {
tmp = 2.0 * ((Math.cos(k) / Math.pow(Math.sin(k), 2.0)) * ((l / t) * (l / (k * k))));
} else if (t <= 4e+37) {
tmp = (l / k) / (Math.pow(t, 3.0) / (l / k));
} else {
tmp = t_1;
}
return tmp;
}
def code(t, l, k): t_1 = 2.0 / ((math.sin(k) * ((t / l) * (t / (l / t)))) * (math.tan(k) * (1.0 + (1.0 + ((k / t) * (k / t)))))) tmp = 0 if t <= -3750.0: tmp = t_1 elif t <= 2.1e-73: tmp = 2.0 * ((math.cos(k) / math.pow(math.sin(k), 2.0)) * ((l / t) * (l / (k * k)))) elif t <= 4e+37: tmp = (l / k) / (math.pow(t, 3.0) / (l / k)) else: tmp = t_1 return tmp
function code(t, l, k) t_1 = Float64(2.0 / Float64(Float64(sin(k) * Float64(Float64(t / l) * Float64(t / Float64(l / t)))) * Float64(tan(k) * Float64(1.0 + Float64(1.0 + Float64(Float64(k / t) * Float64(k / t))))))) tmp = 0.0 if (t <= -3750.0) tmp = t_1; elseif (t <= 2.1e-73) tmp = Float64(2.0 * Float64(Float64(cos(k) / (sin(k) ^ 2.0)) * Float64(Float64(l / t) * Float64(l / Float64(k * k))))); elseif (t <= 4e+37) tmp = Float64(Float64(l / k) / Float64((t ^ 3.0) / Float64(l / k))); else tmp = t_1; end return tmp end
function tmp_2 = code(t, l, k) t_1 = 2.0 / ((sin(k) * ((t / l) * (t / (l / t)))) * (tan(k) * (1.0 + (1.0 + ((k / t) * (k / t)))))); tmp = 0.0; if (t <= -3750.0) tmp = t_1; elseif (t <= 2.1e-73) tmp = 2.0 * ((cos(k) / (sin(k) ^ 2.0)) * ((l / t) * (l / (k * k)))); elseif (t <= 4e+37) tmp = (l / k) / ((t ^ 3.0) / (l / k)); else tmp = t_1; end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[(t / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(1.0 + N[(1.0 + N[(N[(k / t), $MachinePrecision] * N[(k / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -3750.0], t$95$1, If[LessEqual[t, 2.1e-73], N[(2.0 * N[(N[(N[Cos[k], $MachinePrecision] / N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[(l / t), $MachinePrecision] * N[(l / N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 4e+37], N[(N[(l / k), $MachinePrecision] / N[(N[Power[t, 3.0], $MachinePrecision] / N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{2}{\left(\sin k \cdot \left(\frac{t}{\ell} \cdot \frac{t}{\frac{\ell}{t}}\right)\right) \cdot \left(\tan k \cdot \left(1 + \left(1 + \frac{k}{t} \cdot \frac{k}{t}\right)\right)\right)}\\
\mathbf{if}\;t \leq -3750:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 2.1 \cdot 10^{-73}:\\
\;\;\;\;2 \cdot \left(\frac{\cos k}{{\sin k}^{2}} \cdot \left(\frac{\ell}{t} \cdot \frac{\ell}{k \cdot k}\right)\right)\\
\mathbf{elif}\;t \leq 4 \cdot 10^{+37}:\\
\;\;\;\;\frac{\frac{\ell}{k}}{\frac{{t}^{3}}{\frac{\ell}{k}}}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if t < -3750 or 3.99999999999999982e37 < t Initial program 64.7%
associate-*l*64.7%
+-commutative64.7%
Simplified64.7%
unpow364.7%
times-frac76.3%
Applied egg-rr76.3%
*-un-lft-identity76.3%
associate-/l*85.8%
Applied egg-rr85.8%
unpow285.8%
Applied egg-rr85.8%
if -3750 < t < 2.0999999999999999e-73Initial program 37.4%
associate-/l/37.4%
associate-*l/37.4%
associate-*l/37.4%
associate-/r/38.2%
*-commutative38.2%
associate-/l/38.2%
associate-*r*38.2%
*-commutative38.2%
associate-*r*38.2%
*-commutative38.2%
Simplified38.2%
Taylor expanded in k around inf 66.3%
associate-/r*65.6%
*-commutative65.6%
associate-/l*65.6%
unpow265.6%
unpow265.6%
Simplified65.6%
Taylor expanded in l around 0 66.3%
associate-/r*65.6%
*-commutative65.6%
associate-*l/65.6%
unpow265.6%
unpow265.6%
*-commutative65.6%
times-frac67.3%
unpow267.3%
unpow267.3%
associate-/l/66.4%
unpow266.4%
times-frac79.6%
unpow279.6%
Simplified79.6%
if 2.0999999999999999e-73 < t < 3.99999999999999982e37Initial program 63.1%
associate-/l/63.1%
associate-*l/70.3%
associate-*l/67.9%
associate-/r/66.0%
*-commutative66.0%
associate-/l/66.0%
associate-*r*66.0%
*-commutative66.0%
associate-*r*66.0%
*-commutative66.0%
Simplified66.0%
Taylor expanded in k around 0 64.3%
unpow264.3%
*-commutative64.3%
unpow264.3%
Simplified64.3%
Taylor expanded in l around 0 64.3%
associate-/r*66.7%
unpow266.7%
unpow266.7%
times-frac85.2%
associate-/l*92.4%
Simplified92.4%
Final simplification83.6%
(FPCore (t l k)
:precision binary64
(let* ((t_1
(/
2.0
(*
(* (sin k) (* (/ t l) (/ t (/ l t))))
(* (tan k) (+ 1.0 (+ 1.0 (* (/ k t) (/ k t)))))))))
(if (<= t -4.7e+27)
t_1
(if (<= t 3.6e-74)
(* 2.0 (/ (* (cos k) (* (/ l k) (/ l k))) (* t (pow (sin k) 2.0))))
(if (<= t 2.3e+37) (/ (/ l k) (/ (pow t 3.0) (/ l k))) t_1)))))
double code(double t, double l, double k) {
double t_1 = 2.0 / ((sin(k) * ((t / l) * (t / (l / t)))) * (tan(k) * (1.0 + (1.0 + ((k / t) * (k / t))))));
double tmp;
if (t <= -4.7e+27) {
tmp = t_1;
} else if (t <= 3.6e-74) {
tmp = 2.0 * ((cos(k) * ((l / k) * (l / k))) / (t * pow(sin(k), 2.0)));
} else if (t <= 2.3e+37) {
tmp = (l / k) / (pow(t, 3.0) / (l / k));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = 2.0d0 / ((sin(k) * ((t / l) * (t / (l / t)))) * (tan(k) * (1.0d0 + (1.0d0 + ((k / t) * (k / t))))))
if (t <= (-4.7d+27)) then
tmp = t_1
else if (t <= 3.6d-74) then
tmp = 2.0d0 * ((cos(k) * ((l / k) * (l / k))) / (t * (sin(k) ** 2.0d0)))
else if (t <= 2.3d+37) then
tmp = (l / k) / ((t ** 3.0d0) / (l / k))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = 2.0 / ((Math.sin(k) * ((t / l) * (t / (l / t)))) * (Math.tan(k) * (1.0 + (1.0 + ((k / t) * (k / t))))));
double tmp;
if (t <= -4.7e+27) {
tmp = t_1;
} else if (t <= 3.6e-74) {
tmp = 2.0 * ((Math.cos(k) * ((l / k) * (l / k))) / (t * Math.pow(Math.sin(k), 2.0)));
} else if (t <= 2.3e+37) {
tmp = (l / k) / (Math.pow(t, 3.0) / (l / k));
} else {
tmp = t_1;
}
return tmp;
}
def code(t, l, k): t_1 = 2.0 / ((math.sin(k) * ((t / l) * (t / (l / t)))) * (math.tan(k) * (1.0 + (1.0 + ((k / t) * (k / t)))))) tmp = 0 if t <= -4.7e+27: tmp = t_1 elif t <= 3.6e-74: tmp = 2.0 * ((math.cos(k) * ((l / k) * (l / k))) / (t * math.pow(math.sin(k), 2.0))) elif t <= 2.3e+37: tmp = (l / k) / (math.pow(t, 3.0) / (l / k)) else: tmp = t_1 return tmp
function code(t, l, k) t_1 = Float64(2.0 / Float64(Float64(sin(k) * Float64(Float64(t / l) * Float64(t / Float64(l / t)))) * Float64(tan(k) * Float64(1.0 + Float64(1.0 + Float64(Float64(k / t) * Float64(k / t))))))) tmp = 0.0 if (t <= -4.7e+27) tmp = t_1; elseif (t <= 3.6e-74) tmp = Float64(2.0 * Float64(Float64(cos(k) * Float64(Float64(l / k) * Float64(l / k))) / Float64(t * (sin(k) ^ 2.0)))); elseif (t <= 2.3e+37) tmp = Float64(Float64(l / k) / Float64((t ^ 3.0) / Float64(l / k))); else tmp = t_1; end return tmp end
function tmp_2 = code(t, l, k) t_1 = 2.0 / ((sin(k) * ((t / l) * (t / (l / t)))) * (tan(k) * (1.0 + (1.0 + ((k / t) * (k / t)))))); tmp = 0.0; if (t <= -4.7e+27) tmp = t_1; elseif (t <= 3.6e-74) tmp = 2.0 * ((cos(k) * ((l / k) * (l / k))) / (t * (sin(k) ^ 2.0))); elseif (t <= 2.3e+37) tmp = (l / k) / ((t ^ 3.0) / (l / k)); else tmp = t_1; end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[(t / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(1.0 + N[(1.0 + N[(N[(k / t), $MachinePrecision] * N[(k / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -4.7e+27], t$95$1, If[LessEqual[t, 3.6e-74], N[(2.0 * N[(N[(N[Cos[k], $MachinePrecision] * N[(N[(l / k), $MachinePrecision] * N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(t * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 2.3e+37], N[(N[(l / k), $MachinePrecision] / N[(N[Power[t, 3.0], $MachinePrecision] / N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{2}{\left(\sin k \cdot \left(\frac{t}{\ell} \cdot \frac{t}{\frac{\ell}{t}}\right)\right) \cdot \left(\tan k \cdot \left(1 + \left(1 + \frac{k}{t} \cdot \frac{k}{t}\right)\right)\right)}\\
\mathbf{if}\;t \leq -4.7 \cdot 10^{+27}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 3.6 \cdot 10^{-74}:\\
\;\;\;\;2 \cdot \frac{\cos k \cdot \left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right)}{t \cdot {\sin k}^{2}}\\
\mathbf{elif}\;t \leq 2.3 \cdot 10^{+37}:\\
\;\;\;\;\frac{\frac{\ell}{k}}{\frac{{t}^{3}}{\frac{\ell}{k}}}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if t < -4.69999999999999976e27 or 2.30000000000000002e37 < t Initial program 64.9%
associate-*l*64.9%
+-commutative64.9%
Simplified64.9%
unpow364.9%
times-frac75.9%
Applied egg-rr75.9%
*-un-lft-identity75.9%
associate-/l*85.6%
Applied egg-rr85.6%
unpow285.6%
Applied egg-rr85.6%
if -4.69999999999999976e27 < t < 3.6000000000000002e-74Initial program 37.7%
associate-/l/37.7%
associate-*l/37.6%
associate-*l/37.6%
associate-/r/38.4%
*-commutative38.4%
associate-/l/38.4%
associate-*r*38.4%
*-commutative38.4%
associate-*r*38.4%
*-commutative38.4%
Simplified38.4%
Taylor expanded in k around inf 66.1%
associate-/r*65.3%
*-commutative65.3%
associate-/l*65.3%
unpow265.3%
unpow265.3%
Simplified65.3%
Taylor expanded in l around 0 65.3%
associate-*r/65.3%
unpow265.3%
unpow265.3%
times-frac87.2%
Simplified87.2%
if 3.6000000000000002e-74 < t < 2.30000000000000002e37Initial program 63.1%
associate-/l/63.1%
associate-*l/70.3%
associate-*l/67.9%
associate-/r/66.0%
*-commutative66.0%
associate-/l/66.0%
associate-*r*66.0%
*-commutative66.0%
associate-*r*66.0%
*-commutative66.0%
Simplified66.0%
Taylor expanded in k around 0 64.3%
unpow264.3%
*-commutative64.3%
unpow264.3%
Simplified64.3%
Taylor expanded in l around 0 64.3%
associate-/r*66.7%
unpow266.7%
unpow266.7%
times-frac85.2%
associate-/l*92.4%
Simplified92.4%
Final simplification87.0%
(FPCore (t l k)
:precision binary64
(let* ((t_1
(/
2.0
(*
(* (sin k) (* (/ t l) (/ t (/ l t))))
(* (tan k) (+ 1.0 (+ 1.0 (* (/ k t) (/ k t)))))))))
(if (<= t -1.92e-174)
t_1
(if (<= t 5e-74)
(* (* l l) (/ 2.0 (* (tan k) (* (* k k) (* t (sin k))))))
(if (<= t 1.6e+38) (/ (/ l k) (/ (pow t 3.0) (/ l k))) t_1)))))
double code(double t, double l, double k) {
double t_1 = 2.0 / ((sin(k) * ((t / l) * (t / (l / t)))) * (tan(k) * (1.0 + (1.0 + ((k / t) * (k / t))))));
double tmp;
if (t <= -1.92e-174) {
tmp = t_1;
} else if (t <= 5e-74) {
tmp = (l * l) * (2.0 / (tan(k) * ((k * k) * (t * sin(k)))));
} else if (t <= 1.6e+38) {
tmp = (l / k) / (pow(t, 3.0) / (l / k));
} else {
tmp = t_1;
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: tmp
t_1 = 2.0d0 / ((sin(k) * ((t / l) * (t / (l / t)))) * (tan(k) * (1.0d0 + (1.0d0 + ((k / t) * (k / t))))))
if (t <= (-1.92d-174)) then
tmp = t_1
else if (t <= 5d-74) then
tmp = (l * l) * (2.0d0 / (tan(k) * ((k * k) * (t * sin(k)))))
else if (t <= 1.6d+38) then
tmp = (l / k) / ((t ** 3.0d0) / (l / k))
else
tmp = t_1
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = 2.0 / ((Math.sin(k) * ((t / l) * (t / (l / t)))) * (Math.tan(k) * (1.0 + (1.0 + ((k / t) * (k / t))))));
double tmp;
if (t <= -1.92e-174) {
tmp = t_1;
} else if (t <= 5e-74) {
tmp = (l * l) * (2.0 / (Math.tan(k) * ((k * k) * (t * Math.sin(k)))));
} else if (t <= 1.6e+38) {
tmp = (l / k) / (Math.pow(t, 3.0) / (l / k));
} else {
tmp = t_1;
}
return tmp;
}
def code(t, l, k): t_1 = 2.0 / ((math.sin(k) * ((t / l) * (t / (l / t)))) * (math.tan(k) * (1.0 + (1.0 + ((k / t) * (k / t)))))) tmp = 0 if t <= -1.92e-174: tmp = t_1 elif t <= 5e-74: tmp = (l * l) * (2.0 / (math.tan(k) * ((k * k) * (t * math.sin(k))))) elif t <= 1.6e+38: tmp = (l / k) / (math.pow(t, 3.0) / (l / k)) else: tmp = t_1 return tmp
function code(t, l, k) t_1 = Float64(2.0 / Float64(Float64(sin(k) * Float64(Float64(t / l) * Float64(t / Float64(l / t)))) * Float64(tan(k) * Float64(1.0 + Float64(1.0 + Float64(Float64(k / t) * Float64(k / t))))))) tmp = 0.0 if (t <= -1.92e-174) tmp = t_1; elseif (t <= 5e-74) tmp = Float64(Float64(l * l) * Float64(2.0 / Float64(tan(k) * Float64(Float64(k * k) * Float64(t * sin(k)))))); elseif (t <= 1.6e+38) tmp = Float64(Float64(l / k) / Float64((t ^ 3.0) / Float64(l / k))); else tmp = t_1; end return tmp end
function tmp_2 = code(t, l, k) t_1 = 2.0 / ((sin(k) * ((t / l) * (t / (l / t)))) * (tan(k) * (1.0 + (1.0 + ((k / t) * (k / t)))))); tmp = 0.0; if (t <= -1.92e-174) tmp = t_1; elseif (t <= 5e-74) tmp = (l * l) * (2.0 / (tan(k) * ((k * k) * (t * sin(k))))); elseif (t <= 1.6e+38) tmp = (l / k) / ((t ^ 3.0) / (l / k)); else tmp = t_1; end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(2.0 / N[(N[(N[Sin[k], $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[(t / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(1.0 + N[(1.0 + N[(N[(k / t), $MachinePrecision] * N[(k / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t, -1.92e-174], t$95$1, If[LessEqual[t, 5e-74], N[(N[(l * l), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(N[(k * k), $MachinePrecision] * N[(t * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.6e+38], N[(N[(l / k), $MachinePrecision] / N[(N[Power[t, 3.0], $MachinePrecision] / N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], t$95$1]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{2}{\left(\sin k \cdot \left(\frac{t}{\ell} \cdot \frac{t}{\frac{\ell}{t}}\right)\right) \cdot \left(\tan k \cdot \left(1 + \left(1 + \frac{k}{t} \cdot \frac{k}{t}\right)\right)\right)}\\
\mathbf{if}\;t \leq -1.92 \cdot 10^{-174}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;t \leq 5 \cdot 10^{-74}:\\
\;\;\;\;\left(\ell \cdot \ell\right) \cdot \frac{2}{\tan k \cdot \left(\left(k \cdot k\right) \cdot \left(t \cdot \sin k\right)\right)}\\
\mathbf{elif}\;t \leq 1.6 \cdot 10^{+38}:\\
\;\;\;\;\frac{\frac{\ell}{k}}{\frac{{t}^{3}}{\frac{\ell}{k}}}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\end{array}
if t < -1.92e-174 or 1.59999999999999993e38 < t Initial program 61.7%
associate-*l*61.7%
+-commutative61.7%
Simplified61.7%
unpow361.7%
times-frac74.4%
Applied egg-rr74.4%
*-un-lft-identity74.4%
associate-/l*82.9%
Applied egg-rr82.9%
unpow282.9%
Applied egg-rr82.9%
if -1.92e-174 < t < 4.99999999999999998e-74Initial program 30.6%
associate-/l/30.6%
associate-*l/30.6%
associate-*l/30.6%
associate-/r/31.7%
*-commutative31.7%
associate-/l/31.7%
associate-*r*31.7%
*-commutative31.7%
associate-*r*31.7%
*-commutative31.7%
Simplified31.7%
Taylor expanded in k around inf 68.7%
unpow268.7%
Simplified68.7%
if 4.99999999999999998e-74 < t < 1.59999999999999993e38Initial program 63.1%
associate-/l/63.1%
associate-*l/70.3%
associate-*l/67.9%
associate-/r/66.0%
*-commutative66.0%
associate-/l/66.0%
associate-*r*66.0%
*-commutative66.0%
associate-*r*66.0%
*-commutative66.0%
Simplified66.0%
Taylor expanded in k around 0 64.3%
unpow264.3%
*-commutative64.3%
unpow264.3%
Simplified64.3%
Taylor expanded in l around 0 64.3%
associate-/r*66.7%
unpow266.7%
unpow266.7%
times-frac85.2%
associate-/l*92.4%
Simplified92.4%
Final simplification79.3%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (/ l (* k k))) (t_2 (* t (sin k))))
(if (<= k 1e-138)
(/ (/ 2.0 (* t_2 (* (/ t l) (/ t l)))) (* 2.0 k))
(if (<= k 7.2e-44)
(* t_1 (/ l (pow t 3.0)))
(if (<= k 0.026)
(* 2.0 (* (/ l t) (/ l (pow k 4.0))))
(if (<= k 1.65e+97)
(* (* l l) (/ 2.0 (* (tan k) (* (* k k) t_2))))
(* 2.0 (/ (* l t_1) (* t (pow (sin k) 2.0))))))))))
double code(double t, double l, double k) {
double t_1 = l / (k * k);
double t_2 = t * sin(k);
double tmp;
if (k <= 1e-138) {
tmp = (2.0 / (t_2 * ((t / l) * (t / l)))) / (2.0 * k);
} else if (k <= 7.2e-44) {
tmp = t_1 * (l / pow(t, 3.0));
} else if (k <= 0.026) {
tmp = 2.0 * ((l / t) * (l / pow(k, 4.0)));
} else if (k <= 1.65e+97) {
tmp = (l * l) * (2.0 / (tan(k) * ((k * k) * t_2)));
} else {
tmp = 2.0 * ((l * t_1) / (t * pow(sin(k), 2.0)));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_1 = l / (k * k)
t_2 = t * sin(k)
if (k <= 1d-138) then
tmp = (2.0d0 / (t_2 * ((t / l) * (t / l)))) / (2.0d0 * k)
else if (k <= 7.2d-44) then
tmp = t_1 * (l / (t ** 3.0d0))
else if (k <= 0.026d0) then
tmp = 2.0d0 * ((l / t) * (l / (k ** 4.0d0)))
else if (k <= 1.65d+97) then
tmp = (l * l) * (2.0d0 / (tan(k) * ((k * k) * t_2)))
else
tmp = 2.0d0 * ((l * t_1) / (t * (sin(k) ** 2.0d0)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = l / (k * k);
double t_2 = t * Math.sin(k);
double tmp;
if (k <= 1e-138) {
tmp = (2.0 / (t_2 * ((t / l) * (t / l)))) / (2.0 * k);
} else if (k <= 7.2e-44) {
tmp = t_1 * (l / Math.pow(t, 3.0));
} else if (k <= 0.026) {
tmp = 2.0 * ((l / t) * (l / Math.pow(k, 4.0)));
} else if (k <= 1.65e+97) {
tmp = (l * l) * (2.0 / (Math.tan(k) * ((k * k) * t_2)));
} else {
tmp = 2.0 * ((l * t_1) / (t * Math.pow(Math.sin(k), 2.0)));
}
return tmp;
}
def code(t, l, k): t_1 = l / (k * k) t_2 = t * math.sin(k) tmp = 0 if k <= 1e-138: tmp = (2.0 / (t_2 * ((t / l) * (t / l)))) / (2.0 * k) elif k <= 7.2e-44: tmp = t_1 * (l / math.pow(t, 3.0)) elif k <= 0.026: tmp = 2.0 * ((l / t) * (l / math.pow(k, 4.0))) elif k <= 1.65e+97: tmp = (l * l) * (2.0 / (math.tan(k) * ((k * k) * t_2))) else: tmp = 2.0 * ((l * t_1) / (t * math.pow(math.sin(k), 2.0))) return tmp
function code(t, l, k) t_1 = Float64(l / Float64(k * k)) t_2 = Float64(t * sin(k)) tmp = 0.0 if (k <= 1e-138) tmp = Float64(Float64(2.0 / Float64(t_2 * Float64(Float64(t / l) * Float64(t / l)))) / Float64(2.0 * k)); elseif (k <= 7.2e-44) tmp = Float64(t_1 * Float64(l / (t ^ 3.0))); elseif (k <= 0.026) tmp = Float64(2.0 * Float64(Float64(l / t) * Float64(l / (k ^ 4.0)))); elseif (k <= 1.65e+97) tmp = Float64(Float64(l * l) * Float64(2.0 / Float64(tan(k) * Float64(Float64(k * k) * t_2)))); else tmp = Float64(2.0 * Float64(Float64(l * t_1) / Float64(t * (sin(k) ^ 2.0)))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = l / (k * k); t_2 = t * sin(k); tmp = 0.0; if (k <= 1e-138) tmp = (2.0 / (t_2 * ((t / l) * (t / l)))) / (2.0 * k); elseif (k <= 7.2e-44) tmp = t_1 * (l / (t ^ 3.0)); elseif (k <= 0.026) tmp = 2.0 * ((l / t) * (l / (k ^ 4.0))); elseif (k <= 1.65e+97) tmp = (l * l) * (2.0 / (tan(k) * ((k * k) * t_2))); else tmp = 2.0 * ((l * t_1) / (t * (sin(k) ^ 2.0))); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(l / N[(k * k), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(t * N[Sin[k], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[k, 1e-138], N[(N[(2.0 / N[(t$95$2 * N[(N[(t / l), $MachinePrecision] * N[(t / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(2.0 * k), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 7.2e-44], N[(t$95$1 * N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 0.026], N[(2.0 * N[(N[(l / t), $MachinePrecision] * N[(l / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.65e+97], N[(N[(l * l), $MachinePrecision] * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(N[(k * k), $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(l * t$95$1), $MachinePrecision] / N[(t * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := \frac{\ell}{k \cdot k}\\
t_2 := t \cdot \sin k\\
\mathbf{if}\;k \leq 10^{-138}:\\
\;\;\;\;\frac{\frac{2}{t_2 \cdot \left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right)}}{2 \cdot k}\\
\mathbf{elif}\;k \leq 7.2 \cdot 10^{-44}:\\
\;\;\;\;t_1 \cdot \frac{\ell}{{t}^{3}}\\
\mathbf{elif}\;k \leq 0.026:\\
\;\;\;\;2 \cdot \left(\frac{\ell}{t} \cdot \frac{\ell}{{k}^{4}}\right)\\
\mathbf{elif}\;k \leq 1.65 \cdot 10^{+97}:\\
\;\;\;\;\left(\ell \cdot \ell\right) \cdot \frac{2}{\tan k \cdot \left(\left(k \cdot k\right) \cdot t_2\right)}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\ell \cdot t_1}{t \cdot {\sin k}^{2}}\\
\end{array}
\end{array}
if k < 1.00000000000000007e-138Initial program 54.8%
associate-*l*54.8%
+-commutative54.8%
Simplified54.8%
unpow354.8%
times-frac66.0%
Applied egg-rr66.0%
Taylor expanded in k around 0 62.9%
Taylor expanded in t around 0 62.9%
unpow262.9%
associate-*l/67.1%
*-commutative67.1%
Simplified67.1%
expm1-log1p-u48.4%
expm1-udef50.6%
*-commutative50.6%
associate-*l*50.6%
*-commutative50.6%
Applied egg-rr50.6%
expm1-def48.4%
expm1-log1p67.1%
associate-/r*67.1%
associate-*r*72.3%
Simplified72.3%
if 1.00000000000000007e-138 < k < 7.1999999999999998e-44Initial program 55.6%
associate-/l/55.6%
associate-*l/55.6%
associate-*l/52.9%
associate-/r/50.6%
*-commutative50.6%
associate-/l/50.6%
associate-*r*50.6%
*-commutative50.6%
associate-*r*50.6%
*-commutative50.6%
Simplified50.6%
Taylor expanded in k around 0 66.5%
unpow266.5%
*-commutative66.5%
unpow266.5%
Simplified66.5%
times-frac86.5%
Applied egg-rr86.5%
if 7.1999999999999998e-44 < k < 0.0259999999999999988Initial program 40.0%
associate-/l/40.0%
associate-*l/40.0%
associate-*l/40.0%
associate-/r/40.0%
*-commutative40.0%
associate-/l/40.0%
associate-*r*40.0%
*-commutative40.0%
associate-*r*40.0%
*-commutative40.0%
Simplified40.0%
Taylor expanded in k around inf 81.0%
associate-/r*81.0%
*-commutative81.0%
associate-/l*81.0%
unpow281.0%
unpow281.0%
Simplified81.0%
Taylor expanded in k around 0 81.0%
unpow281.0%
*-commutative81.0%
times-frac100.0%
Simplified100.0%
if 0.0259999999999999988 < k < 1.6500000000000001e97Initial program 42.7%
associate-/l/42.7%
associate-*l/42.7%
associate-*l/42.7%
associate-/r/46.6%
*-commutative46.6%
associate-/l/46.5%
associate-*r*46.6%
*-commutative46.6%
associate-*r*46.7%
*-commutative46.7%
Simplified46.7%
Taylor expanded in k around inf 72.3%
unpow272.3%
Simplified72.3%
if 1.6500000000000001e97 < k Initial program 47.5%
associate-/l/47.5%
associate-*l/47.5%
associate-*l/47.5%
associate-/r/47.6%
*-commutative47.6%
associate-/l/47.6%
associate-*r*47.6%
*-commutative47.6%
associate-*r*47.6%
*-commutative47.6%
Simplified47.6%
Taylor expanded in k around inf 62.5%
associate-/r*62.6%
*-commutative62.6%
associate-/l*62.6%
unpow262.6%
unpow262.6%
Simplified62.6%
Taylor expanded in k around 0 62.5%
unpow262.5%
associate-*r/67.0%
unpow267.0%
Simplified67.0%
Final simplification72.9%
(FPCore (t l k)
:precision binary64
(if (<= t -3.85e+18)
(/ 2.0 (* (* (* t (sin k)) (* (/ t l) (/ t l))) (* 2.0 k)))
(if (<= t 5.1e-74)
(* 2.0 (/ (* (cos k) (* (/ l k) (/ l k))) (* k (* t k))))
(/ (/ l k) (/ (pow t 3.0) (/ l k))))))
double code(double t, double l, double k) {
double tmp;
if (t <= -3.85e+18) {
tmp = 2.0 / (((t * sin(k)) * ((t / l) * (t / l))) * (2.0 * k));
} else if (t <= 5.1e-74) {
tmp = 2.0 * ((cos(k) * ((l / k) * (l / k))) / (k * (t * k)));
} else {
tmp = (l / k) / (pow(t, 3.0) / (l / k));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (t <= (-3.85d+18)) then
tmp = 2.0d0 / (((t * sin(k)) * ((t / l) * (t / l))) * (2.0d0 * k))
else if (t <= 5.1d-74) then
tmp = 2.0d0 * ((cos(k) * ((l / k) * (l / k))) / (k * (t * k)))
else
tmp = (l / k) / ((t ** 3.0d0) / (l / k))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= -3.85e+18) {
tmp = 2.0 / (((t * Math.sin(k)) * ((t / l) * (t / l))) * (2.0 * k));
} else if (t <= 5.1e-74) {
tmp = 2.0 * ((Math.cos(k) * ((l / k) * (l / k))) / (k * (t * k)));
} else {
tmp = (l / k) / (Math.pow(t, 3.0) / (l / k));
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= -3.85e+18: tmp = 2.0 / (((t * math.sin(k)) * ((t / l) * (t / l))) * (2.0 * k)) elif t <= 5.1e-74: tmp = 2.0 * ((math.cos(k) * ((l / k) * (l / k))) / (k * (t * k))) else: tmp = (l / k) / (math.pow(t, 3.0) / (l / k)) return tmp
function code(t, l, k) tmp = 0.0 if (t <= -3.85e+18) tmp = Float64(2.0 / Float64(Float64(Float64(t * sin(k)) * Float64(Float64(t / l) * Float64(t / l))) * Float64(2.0 * k))); elseif (t <= 5.1e-74) tmp = Float64(2.0 * Float64(Float64(cos(k) * Float64(Float64(l / k) * Float64(l / k))) / Float64(k * Float64(t * k)))); else tmp = Float64(Float64(l / k) / Float64((t ^ 3.0) / Float64(l / k))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= -3.85e+18) tmp = 2.0 / (((t * sin(k)) * ((t / l) * (t / l))) * (2.0 * k)); elseif (t <= 5.1e-74) tmp = 2.0 * ((cos(k) * ((l / k) * (l / k))) / (k * (t * k))); else tmp = (l / k) / ((t ^ 3.0) / (l / k)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, -3.85e+18], N[(2.0 / N[(N[(N[(t * N[Sin[k], $MachinePrecision]), $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[(t / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(2.0 * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 5.1e-74], N[(2.0 * N[(N[(N[Cos[k], $MachinePrecision] * N[(N[(l / k), $MachinePrecision] * N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(l / k), $MachinePrecision] / N[(N[Power[t, 3.0], $MachinePrecision] / N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -3.85 \cdot 10^{+18}:\\
\;\;\;\;\frac{2}{\left(\left(t \cdot \sin k\right) \cdot \left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right)\right) \cdot \left(2 \cdot k\right)}\\
\mathbf{elif}\;t \leq 5.1 \cdot 10^{-74}:\\
\;\;\;\;2 \cdot \frac{\cos k \cdot \left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right)}{k \cdot \left(t \cdot k\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\ell}{k}}{\frac{{t}^{3}}{\frac{\ell}{k}}}\\
\end{array}
\end{array}
if t < -3.85e18Initial program 65.2%
associate-*l*65.2%
+-commutative65.2%
Simplified65.2%
unpow365.2%
times-frac77.1%
Applied egg-rr77.1%
Taylor expanded in k around 0 64.6%
Taylor expanded in t around 0 64.6%
unpow264.6%
associate-*l/74.1%
*-commutative74.1%
Simplified74.1%
expm1-log1p-u29.9%
expm1-udef20.2%
*-commutative20.2%
associate-*l*20.2%
*-commutative20.2%
Applied egg-rr20.2%
expm1-def29.9%
expm1-log1p74.1%
associate-*r*81.5%
Simplified81.5%
if -3.85e18 < t < 5.0999999999999997e-74Initial program 37.4%
associate-/l/37.4%
associate-*l/37.4%
associate-*l/37.4%
associate-/r/38.2%
*-commutative38.2%
associate-/l/38.2%
associate-*r*38.2%
*-commutative38.2%
associate-*r*38.2%
*-commutative38.2%
Simplified38.2%
Taylor expanded in k around inf 66.3%
associate-/r*65.6%
*-commutative65.6%
associate-/l*65.6%
unpow265.6%
unpow265.6%
Simplified65.6%
Taylor expanded in l around 0 65.6%
associate-*r/65.6%
unpow265.6%
unpow265.6%
times-frac87.0%
Simplified87.0%
add-cbrt-cube63.7%
*-commutative63.7%
*-commutative63.7%
*-commutative63.7%
Applied egg-rr63.7%
associate-*l*63.7%
cube-unmult63.7%
*-commutative63.7%
Simplified63.7%
Taylor expanded in k around 0 68.0%
unpow268.0%
associate-*l*68.0%
Simplified68.0%
if 5.0999999999999997e-74 < t Initial program 63.7%
associate-/l/63.7%
associate-*l/66.3%
associate-*l/65.4%
associate-/r/64.8%
*-commutative64.8%
associate-/l/64.8%
associate-*r*64.8%
*-commutative64.8%
associate-*r*64.8%
*-commutative64.8%
Simplified64.8%
Taylor expanded in k around 0 59.5%
unpow259.5%
*-commutative59.5%
unpow259.5%
Simplified59.5%
Taylor expanded in l around 0 59.5%
associate-/r*59.0%
unpow259.0%
unpow259.0%
times-frac70.1%
associate-/l*74.6%
Simplified74.6%
Final simplification73.3%
(FPCore (t l k) :precision binary64 (if (<= k 1.3e+31) (/ (/ l k) (/ (pow t 3.0) (/ l k))) (* 2.0 (/ (* (cos k) (* (/ l k) (/ l k))) (* k (* t k))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 1.3e+31) {
tmp = (l / k) / (pow(t, 3.0) / (l / k));
} else {
tmp = 2.0 * ((cos(k) * ((l / k) * (l / k))) / (k * (t * k)));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 1.3d+31) then
tmp = (l / k) / ((t ** 3.0d0) / (l / k))
else
tmp = 2.0d0 * ((cos(k) * ((l / k) * (l / k))) / (k * (t * k)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 1.3e+31) {
tmp = (l / k) / (Math.pow(t, 3.0) / (l / k));
} else {
tmp = 2.0 * ((Math.cos(k) * ((l / k) * (l / k))) / (k * (t * k)));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 1.3e+31: tmp = (l / k) / (math.pow(t, 3.0) / (l / k)) else: tmp = 2.0 * ((math.cos(k) * ((l / k) * (l / k))) / (k * (t * k))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 1.3e+31) tmp = Float64(Float64(l / k) / Float64((t ^ 3.0) / Float64(l / k))); else tmp = Float64(2.0 * Float64(Float64(cos(k) * Float64(Float64(l / k) * Float64(l / k))) / Float64(k * Float64(t * k)))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 1.3e+31) tmp = (l / k) / ((t ^ 3.0) / (l / k)); else tmp = 2.0 * ((cos(k) * ((l / k) * (l / k))) / (k * (t * k))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 1.3e+31], N[(N[(l / k), $MachinePrecision] / N[(N[Power[t, 3.0], $MachinePrecision] / N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(N[Cos[k], $MachinePrecision] * N[(N[(l / k), $MachinePrecision] * N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(k * N[(t * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 1.3 \cdot 10^{+31}:\\
\;\;\;\;\frac{\frac{\ell}{k}}{\frac{{t}^{3}}{\frac{\ell}{k}}}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\cos k \cdot \left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right)}{k \cdot \left(t \cdot k\right)}\\
\end{array}
\end{array}
if k < 1.3e31Initial program 53.8%
associate-/l/53.8%
associate-*l/54.8%
associate-*l/54.4%
associate-/r/54.7%
*-commutative54.7%
associate-/l/54.7%
associate-*r*54.7%
*-commutative54.7%
associate-*r*54.7%
*-commutative54.7%
Simplified54.7%
Taylor expanded in k around 0 50.7%
unpow250.7%
*-commutative50.7%
unpow250.7%
Simplified50.7%
Taylor expanded in l around 0 50.7%
associate-/r*50.0%
unpow250.0%
unpow250.0%
times-frac62.9%
associate-/l*67.4%
Simplified67.4%
if 1.3e31 < k Initial program 46.8%
associate-/l/46.8%
associate-*l/46.8%
associate-*l/46.8%
associate-/r/46.8%
*-commutative46.8%
associate-/l/46.8%
associate-*r*46.8%
*-commutative46.8%
associate-*r*46.9%
*-commutative46.9%
Simplified46.9%
Taylor expanded in k around inf 65.6%
associate-/r*64.3%
*-commutative64.3%
associate-/l*64.3%
unpow264.3%
unpow264.3%
Simplified64.3%
Taylor expanded in l around 0 64.3%
associate-*r/64.3%
unpow264.3%
unpow264.3%
times-frac88.6%
Simplified88.6%
add-cbrt-cube64.0%
*-commutative64.0%
*-commutative64.0%
*-commutative64.0%
Applied egg-rr64.0%
associate-*l*64.0%
cube-unmult64.0%
*-commutative64.0%
Simplified64.0%
Taylor expanded in k around 0 61.0%
unpow261.0%
associate-*l*61.0%
Simplified61.0%
Final simplification65.7%
(FPCore (t l k) :precision binary64 (if (or (<= t -3.6e-68) (not (<= t 6.6e-74))) (* (/ l (* k k)) (/ l (pow t 3.0))) (* 2.0 (/ (* l (/ l (pow k 4.0))) t))))
double code(double t, double l, double k) {
double tmp;
if ((t <= -3.6e-68) || !(t <= 6.6e-74)) {
tmp = (l / (k * k)) * (l / pow(t, 3.0));
} else {
tmp = 2.0 * ((l * (l / pow(k, 4.0))) / t);
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if ((t <= (-3.6d-68)) .or. (.not. (t <= 6.6d-74))) then
tmp = (l / (k * k)) * (l / (t ** 3.0d0))
else
tmp = 2.0d0 * ((l * (l / (k ** 4.0d0))) / t)
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if ((t <= -3.6e-68) || !(t <= 6.6e-74)) {
tmp = (l / (k * k)) * (l / Math.pow(t, 3.0));
} else {
tmp = 2.0 * ((l * (l / Math.pow(k, 4.0))) / t);
}
return tmp;
}
def code(t, l, k): tmp = 0 if (t <= -3.6e-68) or not (t <= 6.6e-74): tmp = (l / (k * k)) * (l / math.pow(t, 3.0)) else: tmp = 2.0 * ((l * (l / math.pow(k, 4.0))) / t) return tmp
function code(t, l, k) tmp = 0.0 if ((t <= -3.6e-68) || !(t <= 6.6e-74)) tmp = Float64(Float64(l / Float64(k * k)) * Float64(l / (t ^ 3.0))); else tmp = Float64(2.0 * Float64(Float64(l * Float64(l / (k ^ 4.0))) / t)); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if ((t <= -3.6e-68) || ~((t <= 6.6e-74))) tmp = (l / (k * k)) * (l / (t ^ 3.0)); else tmp = 2.0 * ((l * (l / (k ^ 4.0))) / t); end tmp_2 = tmp; end
code[t_, l_, k_] := If[Or[LessEqual[t, -3.6e-68], N[Not[LessEqual[t, 6.6e-74]], $MachinePrecision]], N[(N[(l / N[(k * k), $MachinePrecision]), $MachinePrecision] * N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(l * N[(l / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -3.6 \cdot 10^{-68} \lor \neg \left(t \leq 6.6 \cdot 10^{-74}\right):\\
\;\;\;\;\frac{\ell}{k \cdot k} \cdot \frac{\ell}{{t}^{3}}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\ell \cdot \frac{\ell}{{k}^{4}}}{t}\\
\end{array}
\end{array}
if t < -3.60000000000000007e-68 or 6.59999999999999992e-74 < t Initial program 63.6%
associate-/l/63.6%
associate-*l/64.8%
associate-*l/64.4%
associate-/r/64.1%
*-commutative64.1%
associate-/l/64.1%
associate-*r*64.1%
*-commutative64.1%
associate-*r*64.1%
*-commutative64.1%
Simplified64.1%
Taylor expanded in k around 0 53.2%
unpow253.2%
*-commutative53.2%
unpow253.2%
Simplified53.2%
times-frac60.8%
Applied egg-rr60.8%
if -3.60000000000000007e-68 < t < 6.59999999999999992e-74Initial program 34.7%
associate-/l/34.7%
associate-*l/34.7%
associate-*l/34.7%
associate-/r/35.6%
*-commutative35.6%
associate-/l/35.6%
associate-*r*35.6%
*-commutative35.6%
associate-*r*35.6%
*-commutative35.6%
Simplified35.6%
Taylor expanded in k around inf 67.8%
associate-/r*66.9%
*-commutative66.9%
associate-/l*66.9%
unpow266.9%
unpow266.9%
Simplified66.9%
Taylor expanded in k around 0 54.8%
unpow254.8%
*-commutative54.8%
times-frac66.2%
Simplified66.2%
associate-*l/66.4%
Applied egg-rr66.4%
Final simplification63.1%
(FPCore (t l k) :precision binary64 (if (or (<= t -2e-78) (not (<= t 1.65e-74))) (/ (/ l k) (/ (pow t 3.0) (/ l k))) (* 2.0 (/ (* l (/ l (pow k 4.0))) t))))
double code(double t, double l, double k) {
double tmp;
if ((t <= -2e-78) || !(t <= 1.65e-74)) {
tmp = (l / k) / (pow(t, 3.0) / (l / k));
} else {
tmp = 2.0 * ((l * (l / pow(k, 4.0))) / t);
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if ((t <= (-2d-78)) .or. (.not. (t <= 1.65d-74))) then
tmp = (l / k) / ((t ** 3.0d0) / (l / k))
else
tmp = 2.0d0 * ((l * (l / (k ** 4.0d0))) / t)
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if ((t <= -2e-78) || !(t <= 1.65e-74)) {
tmp = (l / k) / (Math.pow(t, 3.0) / (l / k));
} else {
tmp = 2.0 * ((l * (l / Math.pow(k, 4.0))) / t);
}
return tmp;
}
def code(t, l, k): tmp = 0 if (t <= -2e-78) or not (t <= 1.65e-74): tmp = (l / k) / (math.pow(t, 3.0) / (l / k)) else: tmp = 2.0 * ((l * (l / math.pow(k, 4.0))) / t) return tmp
function code(t, l, k) tmp = 0.0 if ((t <= -2e-78) || !(t <= 1.65e-74)) tmp = Float64(Float64(l / k) / Float64((t ^ 3.0) / Float64(l / k))); else tmp = Float64(2.0 * Float64(Float64(l * Float64(l / (k ^ 4.0))) / t)); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if ((t <= -2e-78) || ~((t <= 1.65e-74))) tmp = (l / k) / ((t ^ 3.0) / (l / k)); else tmp = 2.0 * ((l * (l / (k ^ 4.0))) / t); end tmp_2 = tmp; end
code[t_, l_, k_] := If[Or[LessEqual[t, -2e-78], N[Not[LessEqual[t, 1.65e-74]], $MachinePrecision]], N[(N[(l / k), $MachinePrecision] / N[(N[Power[t, 3.0], $MachinePrecision] / N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(N[(l * N[(l / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -2 \cdot 10^{-78} \lor \neg \left(t \leq 1.65 \cdot 10^{-74}\right):\\
\;\;\;\;\frac{\frac{\ell}{k}}{\frac{{t}^{3}}{\frac{\ell}{k}}}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\ell \cdot \frac{\ell}{{k}^{4}}}{t}\\
\end{array}
\end{array}
if t < -2e-78 or 1.64999999999999998e-74 < t Initial program 63.9%
associate-/l/63.9%
associate-*l/65.1%
associate-*l/64.6%
associate-/r/64.3%
*-commutative64.3%
associate-/l/64.3%
associate-*r*64.3%
*-commutative64.3%
associate-*r*64.4%
*-commutative64.4%
Simplified64.4%
Taylor expanded in k around 0 53.1%
unpow253.1%
*-commutative53.1%
unpow253.1%
Simplified53.1%
Taylor expanded in l around 0 53.1%
associate-/r*52.3%
unpow252.3%
unpow252.3%
times-frac63.7%
associate-/l*68.5%
Simplified68.5%
if -2e-78 < t < 1.64999999999999998e-74Initial program 33.1%
associate-/l/33.1%
associate-*l/33.1%
associate-*l/33.1%
associate-/r/34.0%
*-commutative34.0%
associate-/l/34.0%
associate-*r*34.0%
*-commutative34.0%
associate-*r*34.0%
*-commutative34.0%
Simplified34.0%
Taylor expanded in k around inf 67.5%
associate-/r*66.5%
*-commutative66.5%
associate-/l*66.5%
unpow266.5%
unpow266.5%
Simplified66.5%
Taylor expanded in k around 0 54.9%
unpow254.9%
*-commutative54.9%
times-frac66.7%
Simplified66.7%
associate-*l/67.0%
Applied egg-rr67.0%
Final simplification67.9%
(FPCore (t l k)
:precision binary64
(if (<= t -1.32e-45)
(/ (* l l) (* k (* k (pow t 3.0))))
(if (<= t 1.75e-74)
(* 2.0 (/ (* l (/ l (pow k 4.0))) t))
(* (/ l (* k k)) (/ l (pow t 3.0))))))
double code(double t, double l, double k) {
double tmp;
if (t <= -1.32e-45) {
tmp = (l * l) / (k * (k * pow(t, 3.0)));
} else if (t <= 1.75e-74) {
tmp = 2.0 * ((l * (l / pow(k, 4.0))) / t);
} else {
tmp = (l / (k * k)) * (l / pow(t, 3.0));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (t <= (-1.32d-45)) then
tmp = (l * l) / (k * (k * (t ** 3.0d0)))
else if (t <= 1.75d-74) then
tmp = 2.0d0 * ((l * (l / (k ** 4.0d0))) / t)
else
tmp = (l / (k * k)) * (l / (t ** 3.0d0))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= -1.32e-45) {
tmp = (l * l) / (k * (k * Math.pow(t, 3.0)));
} else if (t <= 1.75e-74) {
tmp = 2.0 * ((l * (l / Math.pow(k, 4.0))) / t);
} else {
tmp = (l / (k * k)) * (l / Math.pow(t, 3.0));
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= -1.32e-45: tmp = (l * l) / (k * (k * math.pow(t, 3.0))) elif t <= 1.75e-74: tmp = 2.0 * ((l * (l / math.pow(k, 4.0))) / t) else: tmp = (l / (k * k)) * (l / math.pow(t, 3.0)) return tmp
function code(t, l, k) tmp = 0.0 if (t <= -1.32e-45) tmp = Float64(Float64(l * l) / Float64(k * Float64(k * (t ^ 3.0)))); elseif (t <= 1.75e-74) tmp = Float64(2.0 * Float64(Float64(l * Float64(l / (k ^ 4.0))) / t)); else tmp = Float64(Float64(l / Float64(k * k)) * Float64(l / (t ^ 3.0))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= -1.32e-45) tmp = (l * l) / (k * (k * (t ^ 3.0))); elseif (t <= 1.75e-74) tmp = 2.0 * ((l * (l / (k ^ 4.0))) / t); else tmp = (l / (k * k)) * (l / (t ^ 3.0)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, -1.32e-45], N[(N[(l * l), $MachinePrecision] / N[(k * N[(k * N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.75e-74], N[(2.0 * N[(N[(l * N[(l / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / t), $MachinePrecision]), $MachinePrecision], N[(N[(l / N[(k * k), $MachinePrecision]), $MachinePrecision] * N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -1.32 \cdot 10^{-45}:\\
\;\;\;\;\frac{\ell \cdot \ell}{k \cdot \left(k \cdot {t}^{3}\right)}\\
\mathbf{elif}\;t \leq 1.75 \cdot 10^{-74}:\\
\;\;\;\;2 \cdot \frac{\ell \cdot \frac{\ell}{{k}^{4}}}{t}\\
\mathbf{else}:\\
\;\;\;\;\frac{\ell}{k \cdot k} \cdot \frac{\ell}{{t}^{3}}\\
\end{array}
\end{array}
if t < -1.32000000000000005e-45Initial program 62.9%
associate-/l/62.9%
associate-*l/62.8%
associate-*l/62.8%
associate-/r/62.9%
*-commutative62.9%
associate-/l/62.8%
associate-*r*62.8%
*-commutative62.8%
associate-*r*62.9%
*-commutative62.9%
Simplified62.9%
Taylor expanded in k around 0 47.4%
unpow247.4%
*-commutative47.4%
unpow247.4%
Simplified47.4%
Taylor expanded in t around 0 47.4%
*-commutative47.4%
unpow247.4%
associate-*r*56.8%
*-commutative56.8%
*-commutative56.8%
Simplified56.8%
if -1.32000000000000005e-45 < t < 1.75000000000000007e-74Initial program 36.2%
associate-/l/36.2%
associate-*l/36.2%
associate-*l/36.2%
associate-/r/37.0%
*-commutative37.0%
associate-/l/37.0%
associate-*r*37.1%
*-commutative37.1%
associate-*r*37.0%
*-commutative37.0%
Simplified37.0%
Taylor expanded in k around inf 68.1%
associate-/r*67.2%
*-commutative67.2%
associate-/l*67.2%
unpow267.2%
unpow267.2%
Simplified67.2%
Taylor expanded in k around 0 54.6%
unpow254.6%
*-commutative54.6%
times-frac65.6%
Simplified65.6%
associate-*l/65.8%
Applied egg-rr65.8%
if 1.75000000000000007e-74 < t Initial program 63.7%
associate-/l/63.7%
associate-*l/66.3%
associate-*l/65.4%
associate-/r/64.8%
*-commutative64.8%
associate-/l/64.8%
associate-*r*64.8%
*-commutative64.8%
associate-*r*64.8%
*-commutative64.8%
Simplified64.8%
Taylor expanded in k around 0 59.5%
unpow259.5%
*-commutative59.5%
unpow259.5%
Simplified59.5%
times-frac68.9%
Applied egg-rr68.9%
Final simplification64.0%
(FPCore (t l k)
:precision binary64
(if (<= k 2e-162)
(/ (* (/ l k) (/ l k)) (pow t 3.0))
(if (<= k 8.2e+116)
(* (/ l (* k k)) (/ l (pow t 3.0)))
(* 2.0 (* l (/ l (* t (pow k 4.0))))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 2e-162) {
tmp = ((l / k) * (l / k)) / pow(t, 3.0);
} else if (k <= 8.2e+116) {
tmp = (l / (k * k)) * (l / pow(t, 3.0));
} else {
tmp = 2.0 * (l * (l / (t * pow(k, 4.0))));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 2d-162) then
tmp = ((l / k) * (l / k)) / (t ** 3.0d0)
else if (k <= 8.2d+116) then
tmp = (l / (k * k)) * (l / (t ** 3.0d0))
else
tmp = 2.0d0 * (l * (l / (t * (k ** 4.0d0))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 2e-162) {
tmp = ((l / k) * (l / k)) / Math.pow(t, 3.0);
} else if (k <= 8.2e+116) {
tmp = (l / (k * k)) * (l / Math.pow(t, 3.0));
} else {
tmp = 2.0 * (l * (l / (t * Math.pow(k, 4.0))));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 2e-162: tmp = ((l / k) * (l / k)) / math.pow(t, 3.0) elif k <= 8.2e+116: tmp = (l / (k * k)) * (l / math.pow(t, 3.0)) else: tmp = 2.0 * (l * (l / (t * math.pow(k, 4.0)))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 2e-162) tmp = Float64(Float64(Float64(l / k) * Float64(l / k)) / (t ^ 3.0)); elseif (k <= 8.2e+116) tmp = Float64(Float64(l / Float64(k * k)) * Float64(l / (t ^ 3.0))); else tmp = Float64(2.0 * Float64(l * Float64(l / Float64(t * (k ^ 4.0))))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 2e-162) tmp = ((l / k) * (l / k)) / (t ^ 3.0); elseif (k <= 8.2e+116) tmp = (l / (k * k)) * (l / (t ^ 3.0)); else tmp = 2.0 * (l * (l / (t * (k ^ 4.0)))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 2e-162], N[(N[(N[(l / k), $MachinePrecision] * N[(l / k), $MachinePrecision]), $MachinePrecision] / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 8.2e+116], N[(N[(l / N[(k * k), $MachinePrecision]), $MachinePrecision] * N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(l * N[(l / N[(t * N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 2 \cdot 10^{-162}:\\
\;\;\;\;\frac{\frac{\ell}{k} \cdot \frac{\ell}{k}}{{t}^{3}}\\
\mathbf{elif}\;k \leq 8.2 \cdot 10^{+116}:\\
\;\;\;\;\frac{\ell}{k \cdot k} \cdot \frac{\ell}{{t}^{3}}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\ell \cdot \frac{\ell}{t \cdot {k}^{4}}\right)\\
\end{array}
\end{array}
if k < 1.99999999999999991e-162Initial program 53.6%
associate-/l/53.6%
associate-*l/54.9%
associate-*l/54.8%
associate-/r/54.8%
*-commutative54.8%
associate-/l/54.8%
associate-*r*54.8%
*-commutative54.8%
associate-*r*54.8%
*-commutative54.8%
Simplified54.8%
Taylor expanded in k around 0 47.8%
unpow247.8%
*-commutative47.8%
unpow247.8%
Simplified47.8%
Taylor expanded in l around 0 47.8%
associate-/r*47.2%
unpow247.2%
unpow247.2%
times-frac62.4%
Simplified62.4%
if 1.99999999999999991e-162 < k < 8.1999999999999996e116Initial program 50.1%
associate-/l/50.1%
associate-*l/50.1%
associate-*l/49.2%
associate-/r/49.9%
*-commutative49.9%
associate-/l/49.8%
associate-*r*49.8%
*-commutative49.8%
associate-*r*49.9%
*-commutative49.9%
Simplified49.9%
Taylor expanded in k around 0 52.9%
unpow252.9%
*-commutative52.9%
unpow252.9%
Simplified52.9%
times-frac60.2%
Applied egg-rr60.2%
if 8.1999999999999996e116 < k Initial program 49.0%
associate-/l/49.0%
associate-*l/49.0%
associate-*l/49.0%
associate-/r/49.2%
*-commutative49.2%
associate-/l/49.2%
associate-*r*49.2%
*-commutative49.2%
associate-*r*49.2%
*-commutative49.2%
Simplified49.2%
Taylor expanded in k around inf 61.9%
associate-/r*61.9%
*-commutative61.9%
associate-/l*61.9%
unpow261.9%
unpow261.9%
Simplified61.9%
Taylor expanded in k around 0 61.9%
unpow261.9%
*-commutative61.9%
Simplified61.9%
Taylor expanded in l around 0 61.9%
unpow261.9%
*-commutative61.9%
associate-*l/66.7%
*-commutative66.7%
Simplified66.7%
Final simplification62.7%
(FPCore (t l k) :precision binary64 (* 2.0 (* l (/ l (* t (pow k 4.0))))))
double code(double t, double l, double k) {
return 2.0 * (l * (l / (t * pow(k, 4.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 * (l * (l / (t * (k ** 4.0d0))))
end function
public static double code(double t, double l, double k) {
return 2.0 * (l * (l / (t * Math.pow(k, 4.0))));
}
def code(t, l, k): return 2.0 * (l * (l / (t * math.pow(k, 4.0))))
function code(t, l, k) return Float64(2.0 * Float64(l * Float64(l / Float64(t * (k ^ 4.0))))) end
function tmp = code(t, l, k) tmp = 2.0 * (l * (l / (t * (k ^ 4.0)))); end
code[t_, l_, k_] := N[(2.0 * N[(l * N[(l / N[(t * N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
2 \cdot \left(\ell \cdot \frac{\ell}{t \cdot {k}^{4}}\right)
\end{array}
Initial program 51.9%
associate-/l/51.9%
associate-*l/52.6%
associate-*l/52.3%
associate-/r/52.5%
*-commutative52.5%
associate-/l/52.5%
associate-*r*52.5%
*-commutative52.5%
associate-*r*52.5%
*-commutative52.5%
Simplified52.5%
Taylor expanded in k around inf 57.0%
associate-/r*56.0%
*-commutative56.0%
associate-/l*56.0%
unpow256.0%
unpow256.0%
Simplified56.0%
Taylor expanded in k around 0 50.0%
unpow250.0%
*-commutative50.0%
Simplified50.0%
Taylor expanded in l around 0 50.0%
unpow250.0%
*-commutative50.0%
associate-*l/54.8%
*-commutative54.8%
Simplified54.8%
Final simplification54.8%
(FPCore (t l k) :precision binary64 (* 2.0 (* (/ l t) (/ l (pow k 4.0)))))
double code(double t, double l, double k) {
return 2.0 * ((l / t) * (l / pow(k, 4.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 * ((l / t) * (l / (k ** 4.0d0)))
end function
public static double code(double t, double l, double k) {
return 2.0 * ((l / t) * (l / Math.pow(k, 4.0)));
}
def code(t, l, k): return 2.0 * ((l / t) * (l / math.pow(k, 4.0)))
function code(t, l, k) return Float64(2.0 * Float64(Float64(l / t) * Float64(l / (k ^ 4.0)))) end
function tmp = code(t, l, k) tmp = 2.0 * ((l / t) * (l / (k ^ 4.0))); end
code[t_, l_, k_] := N[(2.0 * N[(N[(l / t), $MachinePrecision] * N[(l / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
2 \cdot \left(\frac{\ell}{t} \cdot \frac{\ell}{{k}^{4}}\right)
\end{array}
Initial program 51.9%
associate-/l/51.9%
associate-*l/52.6%
associate-*l/52.3%
associate-/r/52.5%
*-commutative52.5%
associate-/l/52.5%
associate-*r*52.5%
*-commutative52.5%
associate-*r*52.5%
*-commutative52.5%
Simplified52.5%
Taylor expanded in k around inf 57.0%
associate-/r*56.0%
*-commutative56.0%
associate-/l*56.0%
unpow256.0%
unpow256.0%
Simplified56.0%
Taylor expanded in k around 0 50.0%
unpow250.0%
*-commutative50.0%
times-frac56.0%
Simplified56.0%
Final simplification56.0%
herbie shell --seed 2023224
(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))))