
(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 13 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 (+ 1.0 (+ 1.0 (pow (/ k t) 2.0)))))
(if (<=
(/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) t_1))
2e+229)
(/ 2.0 (* (* (/ (pow t 3.0) l) (/ (sin k) l)) (* (tan k) t_1)))
(/
2.0
(/ (* (* t (/ 1.0 (pow (/ l k) 2.0))) (pow (sin k) 2.0)) (cos k))))))
double code(double t, double l, double k) {
double t_1 = 1.0 + (1.0 + pow((k / t), 2.0));
double tmp;
if ((2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * t_1)) <= 2e+229) {
tmp = 2.0 / (((pow(t, 3.0) / l) * (sin(k) / l)) * (tan(k) * t_1));
} else {
tmp = 2.0 / (((t * (1.0 / pow((l / k), 2.0))) * pow(sin(k), 2.0)) / cos(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) :: t_1
real(8) :: tmp
t_1 = 1.0d0 + (1.0d0 + ((k / t) ** 2.0d0))
if ((2.0d0 / (((((t ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * t_1)) <= 2d+229) then
tmp = 2.0d0 / ((((t ** 3.0d0) / l) * (sin(k) / l)) * (tan(k) * t_1))
else
tmp = 2.0d0 / (((t * (1.0d0 / ((l / k) ** 2.0d0))) * (sin(k) ** 2.0d0)) / cos(k))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double t_1 = 1.0 + (1.0 + Math.pow((k / t), 2.0));
double tmp;
if ((2.0 / ((((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * t_1)) <= 2e+229) {
tmp = 2.0 / (((Math.pow(t, 3.0) / l) * (Math.sin(k) / l)) * (Math.tan(k) * t_1));
} else {
tmp = 2.0 / (((t * (1.0 / Math.pow((l / k), 2.0))) * Math.pow(Math.sin(k), 2.0)) / Math.cos(k));
}
return tmp;
}
def code(t, l, k): t_1 = 1.0 + (1.0 + math.pow((k / t), 2.0)) tmp = 0 if (2.0 / ((((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * t_1)) <= 2e+229: tmp = 2.0 / (((math.pow(t, 3.0) / l) * (math.sin(k) / l)) * (math.tan(k) * t_1)) else: tmp = 2.0 / (((t * (1.0 / math.pow((l / k), 2.0))) * math.pow(math.sin(k), 2.0)) / math.cos(k)) return tmp
function code(t, l, k) t_1 = Float64(1.0 + Float64(1.0 + (Float64(k / t) ^ 2.0))) tmp = 0.0 if (Float64(2.0 / Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * t_1)) <= 2e+229) tmp = Float64(2.0 / Float64(Float64(Float64((t ^ 3.0) / l) * Float64(sin(k) / l)) * Float64(tan(k) * t_1))); else tmp = Float64(2.0 / Float64(Float64(Float64(t * Float64(1.0 / (Float64(l / k) ^ 2.0))) * (sin(k) ^ 2.0)) / cos(k))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = 1.0 + (1.0 + ((k / t) ^ 2.0)); tmp = 0.0; if ((2.0 / (((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * t_1)) <= 2e+229) tmp = 2.0 / ((((t ^ 3.0) / l) * (sin(k) / l)) * (tan(k) * t_1)); else tmp = 2.0 / (((t * (1.0 / ((l / k) ^ 2.0))) * (sin(k) ^ 2.0)) / cos(k)); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[(1.0 + N[(1.0 + N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[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] * t$95$1), $MachinePrecision]), $MachinePrecision], 2e+229], N[(2.0 / N[(N[(N[(N[Power[t, 3.0], $MachinePrecision] / l), $MachinePrecision] * N[(N[Sin[k], $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(t * N[(1.0 / N[Power[N[(l / k), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := 1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\\
\mathbf{if}\;\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot t_1} \leq 2 \cdot 10^{+229}:\\
\;\;\;\;\frac{2}{\left(\frac{{t}^{3}}{\ell} \cdot \frac{\sin k}{\ell}\right) \cdot \left(\tan k \cdot t_1\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(t \cdot \frac{1}{{\left(\frac{\ell}{k}\right)}^{2}}\right) \cdot {\sin k}^{2}}{\cos k}}\\
\end{array}
\end{array}
if (/.f64 2 (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1))) < 2e229Initial program 78.0%
associate-*l*78.0%
+-commutative78.0%
Simplified78.0%
Taylor expanded in t around 0 79.1%
*-commutative79.1%
unpow279.1%
times-frac87.2%
Simplified87.2%
if 2e229 < (/.f64 2 (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1))) Initial program 20.7%
associate-*l*20.7%
+-commutative20.7%
Simplified20.7%
Taylor expanded in t around 0 60.3%
times-frac58.5%
unpow258.5%
*-commutative58.5%
unpow258.5%
times-frac66.4%
Simplified66.4%
Taylor expanded in k around inf 60.3%
*-commutative60.3%
associate-*r*60.3%
*-commutative60.3%
times-frac60.3%
*-commutative60.3%
associate-/l*59.4%
unpow259.4%
unpow259.4%
times-frac81.8%
Simplified81.8%
associate-*r/81.8%
pow281.8%
Applied egg-rr81.8%
div-inv81.8%
Applied egg-rr81.8%
Final simplification85.1%
(FPCore (t l k)
:precision binary64
(let* ((t_1 (pow (/ k t) 2.0))
(t_2
(*
(* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k))
(+ 1.0 (+ 1.0 t_1)))))
(if (<= t_2 (- INFINITY))
(/ 2.0 (* 2.0 (* (pow t 3.0) (* (/ k l) (/ k l)))))
(if (<= t_2 INFINITY)
(* l (* l (/ 2.0 (* (tan k) (* (+ 2.0 t_1) (* (pow t 3.0) (sin k)))))))
(/
2.0
(/ (* (* t (/ 1.0 (pow (/ l k) 2.0))) (pow (sin k) 2.0)) (cos k)))))))
double code(double t, double l, double k) {
double t_1 = pow((k / t), 2.0);
double t_2 = (((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * (1.0 + (1.0 + t_1));
double tmp;
if (t_2 <= -((double) INFINITY)) {
tmp = 2.0 / (2.0 * (pow(t, 3.0) * ((k / l) * (k / l))));
} else if (t_2 <= ((double) INFINITY)) {
tmp = l * (l * (2.0 / (tan(k) * ((2.0 + t_1) * (pow(t, 3.0) * sin(k))))));
} else {
tmp = 2.0 / (((t * (1.0 / pow((l / k), 2.0))) * pow(sin(k), 2.0)) / cos(k));
}
return tmp;
}
public static double code(double t, double l, double k) {
double t_1 = Math.pow((k / t), 2.0);
double t_2 = (((Math.pow(t, 3.0) / (l * l)) * Math.sin(k)) * Math.tan(k)) * (1.0 + (1.0 + t_1));
double tmp;
if (t_2 <= -Double.POSITIVE_INFINITY) {
tmp = 2.0 / (2.0 * (Math.pow(t, 3.0) * ((k / l) * (k / l))));
} else if (t_2 <= Double.POSITIVE_INFINITY) {
tmp = l * (l * (2.0 / (Math.tan(k) * ((2.0 + t_1) * (Math.pow(t, 3.0) * Math.sin(k))))));
} else {
tmp = 2.0 / (((t * (1.0 / Math.pow((l / k), 2.0))) * Math.pow(Math.sin(k), 2.0)) / Math.cos(k));
}
return tmp;
}
def code(t, l, k): t_1 = math.pow((k / t), 2.0) t_2 = (((math.pow(t, 3.0) / (l * l)) * math.sin(k)) * math.tan(k)) * (1.0 + (1.0 + t_1)) tmp = 0 if t_2 <= -math.inf: tmp = 2.0 / (2.0 * (math.pow(t, 3.0) * ((k / l) * (k / l)))) elif t_2 <= math.inf: tmp = l * (l * (2.0 / (math.tan(k) * ((2.0 + t_1) * (math.pow(t, 3.0) * math.sin(k)))))) else: tmp = 2.0 / (((t * (1.0 / math.pow((l / k), 2.0))) * math.pow(math.sin(k), 2.0)) / math.cos(k)) return tmp
function code(t, l, k) t_1 = Float64(k / t) ^ 2.0 t_2 = Float64(Float64(Float64(Float64((t ^ 3.0) / Float64(l * l)) * sin(k)) * tan(k)) * Float64(1.0 + Float64(1.0 + t_1))) tmp = 0.0 if (t_2 <= Float64(-Inf)) tmp = Float64(2.0 / Float64(2.0 * Float64((t ^ 3.0) * Float64(Float64(k / l) * Float64(k / l))))); elseif (t_2 <= Inf) tmp = Float64(l * Float64(l * Float64(2.0 / Float64(tan(k) * Float64(Float64(2.0 + t_1) * Float64((t ^ 3.0) * sin(k))))))); else tmp = Float64(2.0 / Float64(Float64(Float64(t * Float64(1.0 / (Float64(l / k) ^ 2.0))) * (sin(k) ^ 2.0)) / cos(k))); end return tmp end
function tmp_2 = code(t, l, k) t_1 = (k / t) ^ 2.0; t_2 = ((((t ^ 3.0) / (l * l)) * sin(k)) * tan(k)) * (1.0 + (1.0 + t_1)); tmp = 0.0; if (t_2 <= -Inf) tmp = 2.0 / (2.0 * ((t ^ 3.0) * ((k / l) * (k / l)))); elseif (t_2 <= Inf) tmp = l * (l * (2.0 / (tan(k) * ((2.0 + t_1) * ((t ^ 3.0) * sin(k)))))); else tmp = 2.0 / (((t * (1.0 / ((l / k) ^ 2.0))) * (sin(k) ^ 2.0)) / cos(k)); end tmp_2 = tmp; end
code[t_, l_, k_] := Block[{t$95$1 = N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$2 = 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[(1.0 + N[(1.0 + t$95$1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$2, (-Infinity)], N[(2.0 / N[(2.0 * N[(N[Power[t, 3.0], $MachinePrecision] * N[(N[(k / l), $MachinePrecision] * N[(k / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$2, Infinity], N[(l * N[(l * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(N[(2.0 + t$95$1), $MachinePrecision] * N[(N[Power[t, 3.0], $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(t * N[(1.0 / N[Power[N[(l / k), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}
\\
\begin{array}{l}
t_1 := {\left(\frac{k}{t}\right)}^{2}\\
t_2 := \left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(1 + \left(1 + t_1\right)\right)\\
\mathbf{if}\;t_2 \leq -\infty:\\
\;\;\;\;\frac{2}{2 \cdot \left({t}^{3} \cdot \left(\frac{k}{\ell} \cdot \frac{k}{\ell}\right)\right)}\\
\mathbf{elif}\;t_2 \leq \infty:\\
\;\;\;\;\ell \cdot \left(\ell \cdot \frac{2}{\tan k \cdot \left(\left(2 + t_1\right) \cdot \left({t}^{3} \cdot \sin k\right)\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(t \cdot \frac{1}{{\left(\frac{\ell}{k}\right)}^{2}}\right) \cdot {\sin k}^{2}}{\cos k}}\\
\end{array}
\end{array}
if (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1)) < -inf.0Initial program 73.7%
associate-*l*73.7%
+-commutative73.7%
Simplified73.7%
Taylor expanded in k around 0 69.9%
associate-/l*68.7%
unpow268.7%
unpow268.7%
Simplified68.7%
Taylor expanded in k around 0 69.9%
associate-*l/70.9%
unpow270.9%
unpow270.9%
*-commutative70.9%
times-frac86.2%
Simplified86.2%
if -inf.0 < (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1)) < +inf.0Initial program 82.7%
associate-/l/82.7%
associate-*l/83.5%
associate-*l/83.0%
associate-/r/83.1%
*-commutative83.1%
associate-/l/83.1%
associate-*r*83.6%
*-commutative83.6%
associate-*r*83.6%
*-commutative83.6%
Simplified83.6%
expm1-log1p-u55.7%
expm1-udef50.2%
associate-*l*51.2%
Applied egg-rr51.2%
expm1-def58.8%
expm1-log1p87.5%
*-commutative87.5%
Simplified87.5%
if +inf.0 < (*.f64 (*.f64 (*.f64 (/.f64 (pow.f64 t 3) (*.f64 l l)) (sin.f64 k)) (tan.f64 k)) (+.f64 (+.f64 1 (pow.f64 (/.f64 k t) 2)) 1)) Initial program 0.0%
associate-*l*0.0%
+-commutative0.0%
Simplified0.0%
Taylor expanded in t around 0 48.7%
times-frac46.4%
unpow246.4%
*-commutative46.4%
unpow246.4%
times-frac56.6%
Simplified56.6%
Taylor expanded in k around inf 48.7%
*-commutative48.7%
associate-*r*48.7%
*-commutative48.7%
times-frac48.7%
*-commutative48.7%
associate-/l*47.6%
unpow247.6%
unpow247.6%
times-frac76.5%
Simplified76.5%
associate-*r/76.5%
pow276.5%
Applied egg-rr76.5%
div-inv76.5%
Applied egg-rr76.5%
Final simplification83.8%
(FPCore (t l k)
:precision binary64
(if (<= k 9e-30)
(* (/ l k) (/ (/ l (pow t 3.0)) k))
(if (<= k 1.02e+149)
(* l (* l (/ 2.0 (* (tan k) (* t (* (sin k) (* k k)))))))
(* (cos k) (/ 2.0 (* (pow (sin k) 2.0) (/ t (pow (/ l k) 2.0))))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 9e-30) {
tmp = (l / k) * ((l / pow(t, 3.0)) / k);
} else if (k <= 1.02e+149) {
tmp = l * (l * (2.0 / (tan(k) * (t * (sin(k) * (k * k))))));
} else {
tmp = cos(k) * (2.0 / (pow(sin(k), 2.0) * (t / pow((l / k), 2.0))));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 9d-30) then
tmp = (l / k) * ((l / (t ** 3.0d0)) / k)
else if (k <= 1.02d+149) then
tmp = l * (l * (2.0d0 / (tan(k) * (t * (sin(k) * (k * k))))))
else
tmp = cos(k) * (2.0d0 / ((sin(k) ** 2.0d0) * (t / ((l / k) ** 2.0d0))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 9e-30) {
tmp = (l / k) * ((l / Math.pow(t, 3.0)) / k);
} else if (k <= 1.02e+149) {
tmp = l * (l * (2.0 / (Math.tan(k) * (t * (Math.sin(k) * (k * k))))));
} else {
tmp = Math.cos(k) * (2.0 / (Math.pow(Math.sin(k), 2.0) * (t / Math.pow((l / k), 2.0))));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 9e-30: tmp = (l / k) * ((l / math.pow(t, 3.0)) / k) elif k <= 1.02e+149: tmp = l * (l * (2.0 / (math.tan(k) * (t * (math.sin(k) * (k * k)))))) else: tmp = math.cos(k) * (2.0 / (math.pow(math.sin(k), 2.0) * (t / math.pow((l / k), 2.0)))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 9e-30) tmp = Float64(Float64(l / k) * Float64(Float64(l / (t ^ 3.0)) / k)); elseif (k <= 1.02e+149) tmp = Float64(l * Float64(l * Float64(2.0 / Float64(tan(k) * Float64(t * Float64(sin(k) * Float64(k * k))))))); else tmp = Float64(cos(k) * Float64(2.0 / Float64((sin(k) ^ 2.0) * Float64(t / (Float64(l / k) ^ 2.0))))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 9e-30) tmp = (l / k) * ((l / (t ^ 3.0)) / k); elseif (k <= 1.02e+149) tmp = l * (l * (2.0 / (tan(k) * (t * (sin(k) * (k * k)))))); else tmp = cos(k) * (2.0 / ((sin(k) ^ 2.0) * (t / ((l / k) ^ 2.0)))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 9e-30], N[(N[(l / k), $MachinePrecision] * N[(N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.02e+149], N[(l * N[(l * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(t * N[(N[Sin[k], $MachinePrecision] * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[Cos[k], $MachinePrecision] * N[(2.0 / N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] * N[(t / N[Power[N[(l / k), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 9 \cdot 10^{-30}:\\
\;\;\;\;\frac{\ell}{k} \cdot \frac{\frac{\ell}{{t}^{3}}}{k}\\
\mathbf{elif}\;k \leq 1.02 \cdot 10^{+149}:\\
\;\;\;\;\ell \cdot \left(\ell \cdot \frac{2}{\tan k \cdot \left(t \cdot \left(\sin k \cdot \left(k \cdot k\right)\right)\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\cos k \cdot \frac{2}{{\sin k}^{2} \cdot \frac{t}{{\left(\frac{\ell}{k}\right)}^{2}}}\\
\end{array}
\end{array}
if k < 8.99999999999999935e-30Initial program 56.6%
associate-/l/56.6%
associate-*l/57.6%
associate-*l/57.2%
associate-/r/57.2%
*-commutative57.2%
associate-/l/57.2%
associate-*r*57.4%
*-commutative57.4%
associate-*r*57.4%
*-commutative57.4%
Simplified57.4%
Taylor expanded in k around 0 56.4%
unpow256.4%
*-commutative56.4%
times-frac61.3%
unpow261.3%
Simplified61.3%
associate-*r/61.0%
Applied egg-rr61.0%
times-frac66.9%
Applied egg-rr66.9%
if 8.99999999999999935e-30 < k < 1.01999999999999997e149Initial program 56.3%
associate-/l/56.3%
associate-*l/56.3%
associate-*l/56.2%
associate-/r/56.7%
*-commutative56.7%
associate-/l/56.7%
associate-*r*57.0%
*-commutative57.0%
associate-*r*57.0%
*-commutative57.0%
Simplified57.0%
expm1-log1p-u57.0%
expm1-udef49.0%
associate-*l*52.6%
Applied egg-rr52.6%
expm1-def60.6%
expm1-log1p60.6%
*-commutative60.6%
Simplified60.6%
Taylor expanded in k around inf 77.1%
associate-*r*77.1%
unpow277.1%
Simplified77.1%
if 1.01999999999999997e149 < k Initial program 45.5%
associate-*l*45.5%
+-commutative45.5%
Simplified45.5%
Taylor expanded in t around 0 67.1%
times-frac67.0%
unpow267.0%
*-commutative67.0%
unpow267.0%
times-frac67.3%
Simplified67.3%
Taylor expanded in k around inf 67.1%
*-commutative67.1%
associate-*r*67.1%
*-commutative67.1%
times-frac67.1%
*-commutative67.1%
associate-/l*67.1%
unpow267.1%
unpow267.1%
times-frac93.9%
Simplified93.9%
associate-*r/94.0%
pow294.0%
Applied egg-rr94.0%
associate-/r/94.0%
Applied egg-rr94.0%
Final simplification71.8%
(FPCore (t l k)
:precision binary64
(if (<= k 8.8e-30)
(* (/ l k) (/ (/ l (pow t 3.0)) k))
(if (<= k 1.8e+149)
(* l (* l (/ 2.0 (* (tan k) (* t (* (sin k) (* k k)))))))
(/ 2.0 (/ (* (pow (sin k) 2.0) (/ t (pow (/ l k) 2.0))) (cos k))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 8.8e-30) {
tmp = (l / k) * ((l / pow(t, 3.0)) / k);
} else if (k <= 1.8e+149) {
tmp = l * (l * (2.0 / (tan(k) * (t * (sin(k) * (k * k))))));
} else {
tmp = 2.0 / ((pow(sin(k), 2.0) * (t / pow((l / k), 2.0))) / cos(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 <= 8.8d-30) then
tmp = (l / k) * ((l / (t ** 3.0d0)) / k)
else if (k <= 1.8d+149) then
tmp = l * (l * (2.0d0 / (tan(k) * (t * (sin(k) * (k * k))))))
else
tmp = 2.0d0 / (((sin(k) ** 2.0d0) * (t / ((l / k) ** 2.0d0))) / cos(k))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 8.8e-30) {
tmp = (l / k) * ((l / Math.pow(t, 3.0)) / k);
} else if (k <= 1.8e+149) {
tmp = l * (l * (2.0 / (Math.tan(k) * (t * (Math.sin(k) * (k * k))))));
} else {
tmp = 2.0 / ((Math.pow(Math.sin(k), 2.0) * (t / Math.pow((l / k), 2.0))) / Math.cos(k));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 8.8e-30: tmp = (l / k) * ((l / math.pow(t, 3.0)) / k) elif k <= 1.8e+149: tmp = l * (l * (2.0 / (math.tan(k) * (t * (math.sin(k) * (k * k)))))) else: tmp = 2.0 / ((math.pow(math.sin(k), 2.0) * (t / math.pow((l / k), 2.0))) / math.cos(k)) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 8.8e-30) tmp = Float64(Float64(l / k) * Float64(Float64(l / (t ^ 3.0)) / k)); elseif (k <= 1.8e+149) tmp = Float64(l * Float64(l * Float64(2.0 / Float64(tan(k) * Float64(t * Float64(sin(k) * Float64(k * k))))))); else tmp = Float64(2.0 / Float64(Float64((sin(k) ^ 2.0) * Float64(t / (Float64(l / k) ^ 2.0))) / cos(k))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 8.8e-30) tmp = (l / k) * ((l / (t ^ 3.0)) / k); elseif (k <= 1.8e+149) tmp = l * (l * (2.0 / (tan(k) * (t * (sin(k) * (k * k)))))); else tmp = 2.0 / (((sin(k) ^ 2.0) * (t / ((l / k) ^ 2.0))) / cos(k)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 8.8e-30], N[(N[(l / k), $MachinePrecision] * N[(N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.8e+149], N[(l * N[(l * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(t * N[(N[Sin[k], $MachinePrecision] * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] * N[(t / N[Power[N[(l / k), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 8.8 \cdot 10^{-30}:\\
\;\;\;\;\frac{\ell}{k} \cdot \frac{\frac{\ell}{{t}^{3}}}{k}\\
\mathbf{elif}\;k \leq 1.8 \cdot 10^{+149}:\\
\;\;\;\;\ell \cdot \left(\ell \cdot \frac{2}{\tan k \cdot \left(t \cdot \left(\sin k \cdot \left(k \cdot k\right)\right)\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{{\sin k}^{2} \cdot \frac{t}{{\left(\frac{\ell}{k}\right)}^{2}}}{\cos k}}\\
\end{array}
\end{array}
if k < 8.79999999999999933e-30Initial program 56.6%
associate-/l/56.6%
associate-*l/57.6%
associate-*l/57.2%
associate-/r/57.2%
*-commutative57.2%
associate-/l/57.2%
associate-*r*57.4%
*-commutative57.4%
associate-*r*57.4%
*-commutative57.4%
Simplified57.4%
Taylor expanded in k around 0 56.4%
unpow256.4%
*-commutative56.4%
times-frac61.3%
unpow261.3%
Simplified61.3%
associate-*r/61.0%
Applied egg-rr61.0%
times-frac66.9%
Applied egg-rr66.9%
if 8.79999999999999933e-30 < k < 1.79999999999999997e149Initial program 56.3%
associate-/l/56.3%
associate-*l/56.3%
associate-*l/56.2%
associate-/r/56.7%
*-commutative56.7%
associate-/l/56.7%
associate-*r*57.0%
*-commutative57.0%
associate-*r*57.0%
*-commutative57.0%
Simplified57.0%
expm1-log1p-u57.0%
expm1-udef49.0%
associate-*l*52.6%
Applied egg-rr52.6%
expm1-def60.6%
expm1-log1p60.6%
*-commutative60.6%
Simplified60.6%
Taylor expanded in k around inf 77.1%
associate-*r*77.1%
unpow277.1%
Simplified77.1%
if 1.79999999999999997e149 < k Initial program 45.5%
associate-*l*45.5%
+-commutative45.5%
Simplified45.5%
Taylor expanded in t around 0 67.1%
times-frac67.0%
unpow267.0%
*-commutative67.0%
unpow267.0%
times-frac67.3%
Simplified67.3%
Taylor expanded in k around inf 67.1%
*-commutative67.1%
associate-*r*67.1%
*-commutative67.1%
times-frac67.1%
*-commutative67.1%
associate-/l*67.1%
unpow267.1%
unpow267.1%
times-frac93.9%
Simplified93.9%
associate-*r/94.0%
pow294.0%
Applied egg-rr94.0%
Final simplification71.8%
(FPCore (t l k)
:precision binary64
(if (<= k 8.5e-30)
(* (/ l k) (/ (/ l (pow t 3.0)) k))
(if (<= k 1.7e+149)
(* l (* l (/ 2.0 (* (tan k) (* t (* (sin k) (* k k)))))))
(/ 2.0 (/ (/ (* t (pow (sin k) 2.0)) (pow (/ l k) 2.0)) (cos k))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 8.5e-30) {
tmp = (l / k) * ((l / pow(t, 3.0)) / k);
} else if (k <= 1.7e+149) {
tmp = l * (l * (2.0 / (tan(k) * (t * (sin(k) * (k * k))))));
} else {
tmp = 2.0 / (((t * pow(sin(k), 2.0)) / pow((l / k), 2.0)) / cos(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 <= 8.5d-30) then
tmp = (l / k) * ((l / (t ** 3.0d0)) / k)
else if (k <= 1.7d+149) then
tmp = l * (l * (2.0d0 / (tan(k) * (t * (sin(k) * (k * k))))))
else
tmp = 2.0d0 / (((t * (sin(k) ** 2.0d0)) / ((l / k) ** 2.0d0)) / cos(k))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 8.5e-30) {
tmp = (l / k) * ((l / Math.pow(t, 3.0)) / k);
} else if (k <= 1.7e+149) {
tmp = l * (l * (2.0 / (Math.tan(k) * (t * (Math.sin(k) * (k * k))))));
} else {
tmp = 2.0 / (((t * Math.pow(Math.sin(k), 2.0)) / Math.pow((l / k), 2.0)) / Math.cos(k));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 8.5e-30: tmp = (l / k) * ((l / math.pow(t, 3.0)) / k) elif k <= 1.7e+149: tmp = l * (l * (2.0 / (math.tan(k) * (t * (math.sin(k) * (k * k)))))) else: tmp = 2.0 / (((t * math.pow(math.sin(k), 2.0)) / math.pow((l / k), 2.0)) / math.cos(k)) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 8.5e-30) tmp = Float64(Float64(l / k) * Float64(Float64(l / (t ^ 3.0)) / k)); elseif (k <= 1.7e+149) tmp = Float64(l * Float64(l * Float64(2.0 / Float64(tan(k) * Float64(t * Float64(sin(k) * Float64(k * k))))))); else tmp = Float64(2.0 / Float64(Float64(Float64(t * (sin(k) ^ 2.0)) / (Float64(l / k) ^ 2.0)) / cos(k))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 8.5e-30) tmp = (l / k) * ((l / (t ^ 3.0)) / k); elseif (k <= 1.7e+149) tmp = l * (l * (2.0 / (tan(k) * (t * (sin(k) * (k * k)))))); else tmp = 2.0 / (((t * (sin(k) ^ 2.0)) / ((l / k) ^ 2.0)) / cos(k)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 8.5e-30], N[(N[(l / k), $MachinePrecision] * N[(N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 1.7e+149], N[(l * N[(l * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(t * N[(N[Sin[k], $MachinePrecision] * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(N[(t * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / N[Power[N[(l / k), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 8.5 \cdot 10^{-30}:\\
\;\;\;\;\frac{\ell}{k} \cdot \frac{\frac{\ell}{{t}^{3}}}{k}\\
\mathbf{elif}\;k \leq 1.7 \cdot 10^{+149}:\\
\;\;\;\;\ell \cdot \left(\ell \cdot \frac{2}{\tan k \cdot \left(t \cdot \left(\sin k \cdot \left(k \cdot k\right)\right)\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\frac{t \cdot {\sin k}^{2}}{{\left(\frac{\ell}{k}\right)}^{2}}}{\cos k}}\\
\end{array}
\end{array}
if k < 8.49999999999999931e-30Initial program 56.6%
associate-/l/56.6%
associate-*l/57.6%
associate-*l/57.2%
associate-/r/57.2%
*-commutative57.2%
associate-/l/57.2%
associate-*r*57.4%
*-commutative57.4%
associate-*r*57.4%
*-commutative57.4%
Simplified57.4%
Taylor expanded in k around 0 56.4%
unpow256.4%
*-commutative56.4%
times-frac61.3%
unpow261.3%
Simplified61.3%
associate-*r/61.0%
Applied egg-rr61.0%
times-frac66.9%
Applied egg-rr66.9%
if 8.49999999999999931e-30 < k < 1.6999999999999999e149Initial program 56.3%
associate-/l/56.3%
associate-*l/56.3%
associate-*l/56.2%
associate-/r/56.7%
*-commutative56.7%
associate-/l/56.7%
associate-*r*57.0%
*-commutative57.0%
associate-*r*57.0%
*-commutative57.0%
Simplified57.0%
expm1-log1p-u57.0%
expm1-udef49.0%
associate-*l*52.6%
Applied egg-rr52.6%
expm1-def60.6%
expm1-log1p60.6%
*-commutative60.6%
Simplified60.6%
Taylor expanded in k around inf 77.1%
associate-*r*77.1%
unpow277.1%
Simplified77.1%
if 1.6999999999999999e149 < k Initial program 45.5%
associate-*l*45.5%
+-commutative45.5%
Simplified45.5%
Taylor expanded in t around 0 67.1%
times-frac67.0%
unpow267.0%
*-commutative67.0%
unpow267.0%
times-frac67.3%
Simplified67.3%
Taylor expanded in k around inf 67.1%
*-commutative67.1%
associate-*r*67.1%
*-commutative67.1%
times-frac67.1%
*-commutative67.1%
associate-/l*67.1%
unpow267.1%
unpow267.1%
times-frac93.9%
Simplified93.9%
associate-*r/94.0%
pow294.0%
Applied egg-rr94.0%
associate-*l/94.1%
Applied egg-rr94.1%
Final simplification71.8%
(FPCore (t l k)
:precision binary64
(if (<= k 9.5e-30)
(* (/ l k) (/ (/ l (pow t 3.0)) k))
(if (<= k 2.3e+149)
(* l (* l (/ 2.0 (* (tan k) (* t (* (sin k) (* k k)))))))
(/ 2.0 (* (/ t (* (/ l k) (/ l k))) (/ (pow (sin k) 2.0) (cos k)))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 9.5e-30) {
tmp = (l / k) * ((l / pow(t, 3.0)) / k);
} else if (k <= 2.3e+149) {
tmp = l * (l * (2.0 / (tan(k) * (t * (sin(k) * (k * k))))));
} else {
tmp = 2.0 / ((t / ((l / k) * (l / k))) * (pow(sin(k), 2.0) / cos(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 <= 9.5d-30) then
tmp = (l / k) * ((l / (t ** 3.0d0)) / k)
else if (k <= 2.3d+149) then
tmp = l * (l * (2.0d0 / (tan(k) * (t * (sin(k) * (k * k))))))
else
tmp = 2.0d0 / ((t / ((l / k) * (l / k))) * ((sin(k) ** 2.0d0) / cos(k)))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 9.5e-30) {
tmp = (l / k) * ((l / Math.pow(t, 3.0)) / k);
} else if (k <= 2.3e+149) {
tmp = l * (l * (2.0 / (Math.tan(k) * (t * (Math.sin(k) * (k * k))))));
} else {
tmp = 2.0 / ((t / ((l / k) * (l / k))) * (Math.pow(Math.sin(k), 2.0) / Math.cos(k)));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 9.5e-30: tmp = (l / k) * ((l / math.pow(t, 3.0)) / k) elif k <= 2.3e+149: tmp = l * (l * (2.0 / (math.tan(k) * (t * (math.sin(k) * (k * k)))))) else: tmp = 2.0 / ((t / ((l / k) * (l / k))) * (math.pow(math.sin(k), 2.0) / math.cos(k))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 9.5e-30) tmp = Float64(Float64(l / k) * Float64(Float64(l / (t ^ 3.0)) / k)); elseif (k <= 2.3e+149) tmp = Float64(l * Float64(l * Float64(2.0 / Float64(tan(k) * Float64(t * Float64(sin(k) * Float64(k * k))))))); else tmp = Float64(2.0 / Float64(Float64(t / Float64(Float64(l / k) * Float64(l / k))) * Float64((sin(k) ^ 2.0) / cos(k)))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 9.5e-30) tmp = (l / k) * ((l / (t ^ 3.0)) / k); elseif (k <= 2.3e+149) tmp = l * (l * (2.0 / (tan(k) * (t * (sin(k) * (k * k)))))); else tmp = 2.0 / ((t / ((l / k) * (l / k))) * ((sin(k) ^ 2.0) / cos(k))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 9.5e-30], N[(N[(l / k), $MachinePrecision] * N[(N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision], If[LessEqual[k, 2.3e+149], N[(l * N[(l * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(t * N[(N[Sin[k], $MachinePrecision] * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 / N[(N[(t / N[(N[(l / k), $MachinePrecision] * N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 9.5 \cdot 10^{-30}:\\
\;\;\;\;\frac{\ell}{k} \cdot \frac{\frac{\ell}{{t}^{3}}}{k}\\
\mathbf{elif}\;k \leq 2.3 \cdot 10^{+149}:\\
\;\;\;\;\ell \cdot \left(\ell \cdot \frac{2}{\tan k \cdot \left(t \cdot \left(\sin k \cdot \left(k \cdot k\right)\right)\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{t}{\frac{\ell}{k} \cdot \frac{\ell}{k}} \cdot \frac{{\sin k}^{2}}{\cos k}}\\
\end{array}
\end{array}
if k < 9.49999999999999939e-30Initial program 56.6%
associate-/l/56.6%
associate-*l/57.6%
associate-*l/57.2%
associate-/r/57.2%
*-commutative57.2%
associate-/l/57.2%
associate-*r*57.4%
*-commutative57.4%
associate-*r*57.4%
*-commutative57.4%
Simplified57.4%
Taylor expanded in k around 0 56.4%
unpow256.4%
*-commutative56.4%
times-frac61.3%
unpow261.3%
Simplified61.3%
associate-*r/61.0%
Applied egg-rr61.0%
times-frac66.9%
Applied egg-rr66.9%
if 9.49999999999999939e-30 < k < 2.2999999999999998e149Initial program 56.3%
associate-/l/56.3%
associate-*l/56.3%
associate-*l/56.2%
associate-/r/56.7%
*-commutative56.7%
associate-/l/56.7%
associate-*r*57.0%
*-commutative57.0%
associate-*r*57.0%
*-commutative57.0%
Simplified57.0%
expm1-log1p-u57.0%
expm1-udef49.0%
associate-*l*52.6%
Applied egg-rr52.6%
expm1-def60.6%
expm1-log1p60.6%
*-commutative60.6%
Simplified60.6%
Taylor expanded in k around inf 77.1%
associate-*r*77.1%
unpow277.1%
Simplified77.1%
if 2.2999999999999998e149 < k Initial program 45.5%
associate-*l*45.5%
+-commutative45.5%
Simplified45.5%
Taylor expanded in t around 0 67.1%
times-frac67.0%
unpow267.0%
*-commutative67.0%
unpow267.0%
times-frac67.3%
Simplified67.3%
Taylor expanded in k around inf 67.1%
*-commutative67.1%
associate-*r*67.1%
*-commutative67.1%
times-frac67.1%
*-commutative67.1%
associate-/l*67.1%
unpow267.1%
unpow267.1%
times-frac93.9%
Simplified93.9%
Final simplification71.8%
(FPCore (t l k) :precision binary64 (if (<= k 7e-30) (* (/ l k) (/ (/ l (pow t 3.0)) k)) (* l (* l (/ 2.0 (* (tan k) (* t (* (sin k) (* k k)))))))))
double code(double t, double l, double k) {
double tmp;
if (k <= 7e-30) {
tmp = (l / k) * ((l / pow(t, 3.0)) / k);
} else {
tmp = l * (l * (2.0 / (tan(k) * (t * (sin(k) * (k * k))))));
}
return tmp;
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
real(8) :: tmp
if (k <= 7d-30) then
tmp = (l / k) * ((l / (t ** 3.0d0)) / k)
else
tmp = l * (l * (2.0d0 / (tan(k) * (t * (sin(k) * (k * k))))))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 7e-30) {
tmp = (l / k) * ((l / Math.pow(t, 3.0)) / k);
} else {
tmp = l * (l * (2.0 / (Math.tan(k) * (t * (Math.sin(k) * (k * k))))));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 7e-30: tmp = (l / k) * ((l / math.pow(t, 3.0)) / k) else: tmp = l * (l * (2.0 / (math.tan(k) * (t * (math.sin(k) * (k * k)))))) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 7e-30) tmp = Float64(Float64(l / k) * Float64(Float64(l / (t ^ 3.0)) / k)); else tmp = Float64(l * Float64(l * Float64(2.0 / Float64(tan(k) * Float64(t * Float64(sin(k) * Float64(k * k))))))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 7e-30) tmp = (l / k) * ((l / (t ^ 3.0)) / k); else tmp = l * (l * (2.0 / (tan(k) * (t * (sin(k) * (k * k)))))); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 7e-30], N[(N[(l / k), $MachinePrecision] * N[(N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision], N[(l * N[(l * N[(2.0 / N[(N[Tan[k], $MachinePrecision] * N[(t * N[(N[Sin[k], $MachinePrecision] * N[(k * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 7 \cdot 10^{-30}:\\
\;\;\;\;\frac{\ell}{k} \cdot \frac{\frac{\ell}{{t}^{3}}}{k}\\
\mathbf{else}:\\
\;\;\;\;\ell \cdot \left(\ell \cdot \frac{2}{\tan k \cdot \left(t \cdot \left(\sin k \cdot \left(k \cdot k\right)\right)\right)}\right)\\
\end{array}
\end{array}
if k < 7.0000000000000006e-30Initial program 56.6%
associate-/l/56.6%
associate-*l/57.6%
associate-*l/57.2%
associate-/r/57.2%
*-commutative57.2%
associate-/l/57.2%
associate-*r*57.4%
*-commutative57.4%
associate-*r*57.4%
*-commutative57.4%
Simplified57.4%
Taylor expanded in k around 0 56.4%
unpow256.4%
*-commutative56.4%
times-frac61.3%
unpow261.3%
Simplified61.3%
associate-*r/61.0%
Applied egg-rr61.0%
times-frac66.9%
Applied egg-rr66.9%
if 7.0000000000000006e-30 < k Initial program 51.0%
associate-/l/51.0%
associate-*l/51.0%
associate-*l/51.0%
associate-/r/51.3%
*-commutative51.3%
associate-/l/51.2%
associate-*r*51.4%
*-commutative51.4%
associate-*r*51.4%
*-commutative51.4%
Simplified51.4%
expm1-log1p-u51.4%
expm1-udef47.3%
associate-*l*49.6%
Applied egg-rr49.6%
expm1-def53.7%
expm1-log1p53.7%
*-commutative53.7%
Simplified53.7%
Taylor expanded in k around inf 72.7%
associate-*r*72.7%
unpow272.7%
Simplified72.7%
Final simplification68.5%
(FPCore (t l k)
:precision binary64
(if (<= t -3.5e-53)
(* l (/ (/ l k) (* (pow t 3.0) k)))
(if (<= t 1.8e-76)
(/ 2.0 (* (/ (* k k) (cos k)) (* (/ t l) (/ k (/ l k)))))
(* (/ l k) (/ (/ l (pow t 3.0)) k)))))
double code(double t, double l, double k) {
double tmp;
if (t <= -3.5e-53) {
tmp = l * ((l / k) / (pow(t, 3.0) * k));
} else if (t <= 1.8e-76) {
tmp = 2.0 / (((k * k) / cos(k)) * ((t / l) * (k / (l / k))));
} else {
tmp = (l / k) * ((l / pow(t, 3.0)) / 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.5d-53)) then
tmp = l * ((l / k) / ((t ** 3.0d0) * k))
else if (t <= 1.8d-76) then
tmp = 2.0d0 / (((k * k) / cos(k)) * ((t / l) * (k / (l / k))))
else
tmp = (l / k) * ((l / (t ** 3.0d0)) / k)
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= -3.5e-53) {
tmp = l * ((l / k) / (Math.pow(t, 3.0) * k));
} else if (t <= 1.8e-76) {
tmp = 2.0 / (((k * k) / Math.cos(k)) * ((t / l) * (k / (l / k))));
} else {
tmp = (l / k) * ((l / Math.pow(t, 3.0)) / k);
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= -3.5e-53: tmp = l * ((l / k) / (math.pow(t, 3.0) * k)) elif t <= 1.8e-76: tmp = 2.0 / (((k * k) / math.cos(k)) * ((t / l) * (k / (l / k)))) else: tmp = (l / k) * ((l / math.pow(t, 3.0)) / k) return tmp
function code(t, l, k) tmp = 0.0 if (t <= -3.5e-53) tmp = Float64(l * Float64(Float64(l / k) / Float64((t ^ 3.0) * k))); elseif (t <= 1.8e-76) tmp = Float64(2.0 / Float64(Float64(Float64(k * k) / cos(k)) * Float64(Float64(t / l) * Float64(k / Float64(l / k))))); else tmp = Float64(Float64(l / k) * Float64(Float64(l / (t ^ 3.0)) / k)); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= -3.5e-53) tmp = l * ((l / k) / ((t ^ 3.0) * k)); elseif (t <= 1.8e-76) tmp = 2.0 / (((k * k) / cos(k)) * ((t / l) * (k / (l / k)))); else tmp = (l / k) * ((l / (t ^ 3.0)) / k); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, -3.5e-53], N[(l * N[(N[(l / k), $MachinePrecision] / N[(N[Power[t, 3.0], $MachinePrecision] * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.8e-76], N[(2.0 / N[(N[(N[(k * k), $MachinePrecision] / N[Cos[k], $MachinePrecision]), $MachinePrecision] * N[(N[(t / l), $MachinePrecision] * N[(k / N[(l / k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(l / k), $MachinePrecision] * N[(N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -3.5 \cdot 10^{-53}:\\
\;\;\;\;\ell \cdot \frac{\frac{\ell}{k}}{{t}^{3} \cdot k}\\
\mathbf{elif}\;t \leq 1.8 \cdot 10^{-76}:\\
\;\;\;\;\frac{2}{\frac{k \cdot k}{\cos k} \cdot \left(\frac{t}{\ell} \cdot \frac{k}{\frac{\ell}{k}}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\ell}{k} \cdot \frac{\frac{\ell}{{t}^{3}}}{k}\\
\end{array}
\end{array}
if t < -3.49999999999999993e-53Initial program 62.1%
associate-/l/62.1%
associate-*l/63.3%
associate-*l/63.1%
associate-/r/63.0%
*-commutative63.0%
associate-/l/63.0%
associate-*r*63.0%
*-commutative63.0%
associate-*r*63.0%
*-commutative63.0%
Simplified63.0%
expm1-log1p-u50.5%
expm1-udef46.9%
associate-*l*47.8%
Applied egg-rr47.8%
expm1-def52.5%
expm1-log1p66.4%
*-commutative66.4%
Simplified66.4%
Taylor expanded in k around 0 64.0%
Taylor expanded in k around 0 61.6%
associate-/r*61.5%
unpow261.5%
associate-/r*67.4%
associate-/l/70.2%
*-commutative70.2%
Simplified70.2%
if -3.49999999999999993e-53 < t < 1.8e-76Initial program 39.9%
associate-*l*39.9%
+-commutative39.9%
Simplified39.9%
Taylor expanded in t around 0 80.5%
times-frac77.5%
unpow277.5%
*-commutative77.5%
unpow277.5%
times-frac88.7%
Simplified88.7%
Taylor expanded in k around 0 79.1%
unpow279.1%
associate-/l*79.1%
Simplified79.1%
if 1.8e-76 < t Initial program 66.5%
associate-/l/66.5%
associate-*l/67.6%
associate-*l/67.5%
associate-/r/67.6%
*-commutative67.6%
associate-/l/67.5%
associate-*r*67.6%
*-commutative67.6%
associate-*r*67.5%
*-commutative67.5%
Simplified67.5%
Taylor expanded in k around 0 58.4%
unpow258.4%
*-commutative58.4%
times-frac61.3%
unpow261.3%
Simplified61.3%
associate-*r/59.8%
Applied egg-rr59.8%
times-frac68.3%
Applied egg-rr68.3%
Final simplification73.0%
(FPCore (t l k)
:precision binary64
(if (<= t -2.8e-53)
(* l (/ (/ l k) (* (pow t 3.0) k)))
(if (<= t 1.9e-76)
(* (* 2.0 l) (/ (/ l t) (pow k 4.0)))
(* (/ l k) (/ (/ l (pow t 3.0)) k)))))
double code(double t, double l, double k) {
double tmp;
if (t <= -2.8e-53) {
tmp = l * ((l / k) / (pow(t, 3.0) * k));
} else if (t <= 1.9e-76) {
tmp = (2.0 * l) * ((l / t) / pow(k, 4.0));
} else {
tmp = (l / k) * ((l / pow(t, 3.0)) / 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 <= (-2.8d-53)) then
tmp = l * ((l / k) / ((t ** 3.0d0) * k))
else if (t <= 1.9d-76) then
tmp = (2.0d0 * l) * ((l / t) / (k ** 4.0d0))
else
tmp = (l / k) * ((l / (t ** 3.0d0)) / k)
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (t <= -2.8e-53) {
tmp = l * ((l / k) / (Math.pow(t, 3.0) * k));
} else if (t <= 1.9e-76) {
tmp = (2.0 * l) * ((l / t) / Math.pow(k, 4.0));
} else {
tmp = (l / k) * ((l / Math.pow(t, 3.0)) / k);
}
return tmp;
}
def code(t, l, k): tmp = 0 if t <= -2.8e-53: tmp = l * ((l / k) / (math.pow(t, 3.0) * k)) elif t <= 1.9e-76: tmp = (2.0 * l) * ((l / t) / math.pow(k, 4.0)) else: tmp = (l / k) * ((l / math.pow(t, 3.0)) / k) return tmp
function code(t, l, k) tmp = 0.0 if (t <= -2.8e-53) tmp = Float64(l * Float64(Float64(l / k) / Float64((t ^ 3.0) * k))); elseif (t <= 1.9e-76) tmp = Float64(Float64(2.0 * l) * Float64(Float64(l / t) / (k ^ 4.0))); else tmp = Float64(Float64(l / k) * Float64(Float64(l / (t ^ 3.0)) / k)); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (t <= -2.8e-53) tmp = l * ((l / k) / ((t ^ 3.0) * k)); elseif (t <= 1.9e-76) tmp = (2.0 * l) * ((l / t) / (k ^ 4.0)); else tmp = (l / k) * ((l / (t ^ 3.0)) / k); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[t, -2.8e-53], N[(l * N[(N[(l / k), $MachinePrecision] / N[(N[Power[t, 3.0], $MachinePrecision] * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t, 1.9e-76], N[(N[(2.0 * l), $MachinePrecision] * N[(N[(l / t), $MachinePrecision] / N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(l / k), $MachinePrecision] * N[(N[(l / N[Power[t, 3.0], $MachinePrecision]), $MachinePrecision] / k), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;t \leq -2.8 \cdot 10^{-53}:\\
\;\;\;\;\ell \cdot \frac{\frac{\ell}{k}}{{t}^{3} \cdot k}\\
\mathbf{elif}\;t \leq 1.9 \cdot 10^{-76}:\\
\;\;\;\;\left(2 \cdot \ell\right) \cdot \frac{\frac{\ell}{t}}{{k}^{4}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\ell}{k} \cdot \frac{\frac{\ell}{{t}^{3}}}{k}\\
\end{array}
\end{array}
if t < -2.79999999999999985e-53Initial program 62.1%
associate-/l/62.1%
associate-*l/63.3%
associate-*l/63.1%
associate-/r/63.0%
*-commutative63.0%
associate-/l/63.0%
associate-*r*63.0%
*-commutative63.0%
associate-*r*63.0%
*-commutative63.0%
Simplified63.0%
expm1-log1p-u50.5%
expm1-udef46.9%
associate-*l*47.8%
Applied egg-rr47.8%
expm1-def52.5%
expm1-log1p66.4%
*-commutative66.4%
Simplified66.4%
Taylor expanded in k around 0 64.0%
Taylor expanded in k around 0 61.6%
associate-/r*61.5%
unpow261.5%
associate-/r*67.4%
associate-/l/70.2%
*-commutative70.2%
Simplified70.2%
if -2.79999999999999985e-53 < t < 1.9000000000000001e-76Initial program 39.9%
associate-*l*39.9%
+-commutative39.9%
Simplified39.9%
Taylor expanded in t around 0 80.5%
times-frac77.5%
unpow277.5%
*-commutative77.5%
unpow277.5%
times-frac88.7%
Simplified88.7%
Taylor expanded in k around inf 80.5%
*-commutative80.5%
associate-*r*80.5%
*-commutative80.5%
times-frac80.5%
*-commutative80.5%
associate-/l*79.5%
unpow279.5%
unpow279.5%
times-frac92.9%
Simplified92.9%
associate-*r/92.9%
pow292.9%
Applied egg-rr92.9%
Taylor expanded in k around 0 66.5%
unpow266.5%
*-commutative66.5%
associate-*r/75.7%
associate-*r*75.7%
associate-/r*76.6%
Simplified76.6%
if 1.9000000000000001e-76 < t Initial program 66.5%
associate-/l/66.5%
associate-*l/67.6%
associate-*l/67.5%
associate-/r/67.6%
*-commutative67.6%
associate-/l/67.5%
associate-*r*67.6%
*-commutative67.6%
associate-*r*67.5%
*-commutative67.5%
Simplified67.5%
Taylor expanded in k around 0 58.4%
unpow258.4%
*-commutative58.4%
times-frac61.3%
unpow261.3%
Simplified61.3%
associate-*r/59.8%
Applied egg-rr59.8%
times-frac68.3%
Applied egg-rr68.3%
Final simplification72.0%
(FPCore (t l k) :precision binary64 (if (<= k 7e-30) (* l (/ (/ l k) (* (pow t 3.0) k))) (* 2.0 (/ l (/ (* t (pow k 4.0)) l)))))
double code(double t, double l, double k) {
double tmp;
if (k <= 7e-30) {
tmp = l * ((l / k) / (pow(t, 3.0) * k));
} else {
tmp = 2.0 * (l / ((t * pow(k, 4.0)) / l));
}
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 <= 7d-30) then
tmp = l * ((l / k) / ((t ** 3.0d0) * k))
else
tmp = 2.0d0 * (l / ((t * (k ** 4.0d0)) / l))
end if
code = tmp
end function
public static double code(double t, double l, double k) {
double tmp;
if (k <= 7e-30) {
tmp = l * ((l / k) / (Math.pow(t, 3.0) * k));
} else {
tmp = 2.0 * (l / ((t * Math.pow(k, 4.0)) / l));
}
return tmp;
}
def code(t, l, k): tmp = 0 if k <= 7e-30: tmp = l * ((l / k) / (math.pow(t, 3.0) * k)) else: tmp = 2.0 * (l / ((t * math.pow(k, 4.0)) / l)) return tmp
function code(t, l, k) tmp = 0.0 if (k <= 7e-30) tmp = Float64(l * Float64(Float64(l / k) / Float64((t ^ 3.0) * k))); else tmp = Float64(2.0 * Float64(l / Float64(Float64(t * (k ^ 4.0)) / l))); end return tmp end
function tmp_2 = code(t, l, k) tmp = 0.0; if (k <= 7e-30) tmp = l * ((l / k) / ((t ^ 3.0) * k)); else tmp = 2.0 * (l / ((t * (k ^ 4.0)) / l)); end tmp_2 = tmp; end
code[t_, l_, k_] := If[LessEqual[k, 7e-30], N[(l * N[(N[(l / k), $MachinePrecision] / N[(N[Power[t, 3.0], $MachinePrecision] * k), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[(l / N[(N[(t * N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}
\\
\begin{array}{l}
\mathbf{if}\;k \leq 7 \cdot 10^{-30}:\\
\;\;\;\;\ell \cdot \frac{\frac{\ell}{k}}{{t}^{3} \cdot k}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\ell}{\frac{t \cdot {k}^{4}}{\ell}}\\
\end{array}
\end{array}
if k < 7.0000000000000006e-30Initial program 56.6%
associate-/l/56.6%
associate-*l/57.6%
associate-*l/57.2%
associate-/r/57.2%
*-commutative57.2%
associate-/l/57.2%
associate-*r*57.4%
*-commutative57.4%
associate-*r*57.4%
*-commutative57.4%
Simplified57.4%
expm1-log1p-u39.8%
expm1-udef37.3%
associate-*l*39.3%
Applied egg-rr39.3%
expm1-def43.6%
expm1-log1p64.0%
*-commutative64.0%
Simplified64.0%
Taylor expanded in k around 0 64.1%
Taylor expanded in k around 0 61.1%
associate-/r*61.3%
unpow261.3%
associate-/r*65.9%
associate-/l/66.9%
*-commutative66.9%
Simplified66.9%
if 7.0000000000000006e-30 < k Initial program 51.0%
associate-*l*51.0%
+-commutative51.0%
Simplified51.0%
Taylor expanded in t around 0 69.8%
times-frac69.8%
unpow269.8%
*-commutative69.8%
unpow269.8%
times-frac71.3%
Simplified71.3%
Taylor expanded in k around 0 58.7%
unpow258.7%
associate-/l*60.8%
Simplified60.8%
Final simplification65.3%
(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 55.1%
associate-*l*55.1%
+-commutative55.1%
Simplified55.1%
Taylor expanded in t around 0 61.4%
times-frac60.7%
unpow260.7%
*-commutative60.7%
unpow260.7%
times-frac66.2%
Simplified66.2%
Taylor expanded in k around 0 54.9%
unpow254.9%
associate-/l*59.6%
Simplified59.6%
associate-/r/59.6%
*-commutative59.6%
Applied egg-rr59.6%
Final simplification59.6%
(FPCore (t l k) :precision binary64 (* 2.0 (/ l (/ (* t (pow k 4.0)) l))))
double code(double t, double l, double k) {
return 2.0 * (l / ((t * pow(k, 4.0)) / l));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = 2.0d0 * (l / ((t * (k ** 4.0d0)) / l))
end function
public static double code(double t, double l, double k) {
return 2.0 * (l / ((t * Math.pow(k, 4.0)) / l));
}
def code(t, l, k): return 2.0 * (l / ((t * math.pow(k, 4.0)) / l))
function code(t, l, k) return Float64(2.0 * Float64(l / Float64(Float64(t * (k ^ 4.0)) / l))) end
function tmp = code(t, l, k) tmp = 2.0 * (l / ((t * (k ^ 4.0)) / l)); end
code[t_, l_, k_] := N[(2.0 * N[(l / N[(N[(t * N[Power[k, 4.0], $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
2 \cdot \frac{\ell}{\frac{t \cdot {k}^{4}}{\ell}}
\end{array}
Initial program 55.1%
associate-*l*55.1%
+-commutative55.1%
Simplified55.1%
Taylor expanded in t around 0 61.4%
times-frac60.7%
unpow260.7%
*-commutative60.7%
unpow260.7%
times-frac66.2%
Simplified66.2%
Taylor expanded in k around 0 54.9%
unpow254.9%
associate-/l*59.6%
Simplified59.6%
Final simplification59.6%
(FPCore (t l k) :precision binary64 (* 2.0 (/ l (/ (pow k 4.0) (/ l t)))))
double code(double t, double l, double k) {
return 2.0 * (l / (pow(k, 4.0) / (l / t)));
}
real(8) function code(t, l, k)
real(8), intent (in) :: t
real(8), intent (in) :: l
real(8), intent (in) :: k
code = 2.0d0 * (l / ((k ** 4.0d0) / (l / t)))
end function
public static double code(double t, double l, double k) {
return 2.0 * (l / (Math.pow(k, 4.0) / (l / t)));
}
def code(t, l, k): return 2.0 * (l / (math.pow(k, 4.0) / (l / t)))
function code(t, l, k) return Float64(2.0 * Float64(l / Float64((k ^ 4.0) / Float64(l / t)))) end
function tmp = code(t, l, k) tmp = 2.0 * (l / ((k ^ 4.0) / (l / t))); end
code[t_, l_, k_] := N[(2.0 * N[(l / N[(N[Power[k, 4.0], $MachinePrecision] / N[(l / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
2 \cdot \frac{\ell}{\frac{{k}^{4}}{\frac{\ell}{t}}}
\end{array}
Initial program 55.1%
associate-*l*55.1%
+-commutative55.1%
Simplified55.1%
Taylor expanded in t around 0 61.4%
times-frac60.7%
unpow260.7%
*-commutative60.7%
unpow260.7%
times-frac66.2%
Simplified66.2%
Taylor expanded in k around 0 54.9%
unpow254.9%
associate-/l*59.6%
Simplified59.6%
expm1-log1p-u42.9%
expm1-udef30.2%
*-commutative30.2%
Applied egg-rr30.2%
expm1-def42.9%
expm1-log1p59.6%
*-commutative59.6%
associate-/l*59.9%
Simplified59.9%
Final simplification59.9%
herbie shell --seed 2023192
(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))))