| Alternative 1 | |
|---|---|
| Accuracy | 86.2% |
| Cost | 21000 |
(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))))
(FPCore (t l k)
:precision binary64
(if (or (<= t -6.8e-79) (not (<= t 1.95e-146)))
(/
2.0
(/
(* (* t (* (/ t l) (sin k))) (* (tan k) (- -2.0 (pow (/ k t) 2.0))))
(/ (- l) t)))
(* l (/ (* (/ (cos k) k) (* 2.0 l)) (* t (* k (pow (sin k) 2.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));
}
double code(double t, double l, double k) {
double tmp;
if ((t <= -6.8e-79) || !(t <= 1.95e-146)) {
tmp = 2.0 / (((t * ((t / l) * sin(k))) * (tan(k) * (-2.0 - pow((k / t), 2.0)))) / (-l / t));
} else {
tmp = l * (((cos(k) / k) * (2.0 * l)) / (t * (k * 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
code = 2.0d0 / (((((t ** 3.0d0) / (l * l)) * sin(k)) * tan(k)) * ((1.0d0 + ((k / t) ** 2.0d0)) + 1.0d0))
end function
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 <= (-6.8d-79)) .or. (.not. (t <= 1.95d-146))) then
tmp = 2.0d0 / (((t * ((t / l) * sin(k))) * (tan(k) * ((-2.0d0) - ((k / t) ** 2.0d0)))) / (-l / t))
else
tmp = l * (((cos(k) / k) * (2.0d0 * l)) / (t * (k * (sin(k) ** 2.0d0))))
end if
code = tmp
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));
}
public static double code(double t, double l, double k) {
double tmp;
if ((t <= -6.8e-79) || !(t <= 1.95e-146)) {
tmp = 2.0 / (((t * ((t / l) * Math.sin(k))) * (Math.tan(k) * (-2.0 - Math.pow((k / t), 2.0)))) / (-l / t));
} else {
tmp = l * (((Math.cos(k) / k) * (2.0 * l)) / (t * (k * Math.pow(Math.sin(k), 2.0))));
}
return tmp;
}
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))
def code(t, l, k): tmp = 0 if (t <= -6.8e-79) or not (t <= 1.95e-146): tmp = 2.0 / (((t * ((t / l) * math.sin(k))) * (math.tan(k) * (-2.0 - math.pow((k / t), 2.0)))) / (-l / t)) else: tmp = l * (((math.cos(k) / k) * (2.0 * l)) / (t * (k * math.pow(math.sin(k), 2.0)))) return tmp
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 code(t, l, k) tmp = 0.0 if ((t <= -6.8e-79) || !(t <= 1.95e-146)) tmp = Float64(2.0 / Float64(Float64(Float64(t * Float64(Float64(t / l) * sin(k))) * Float64(tan(k) * Float64(-2.0 - (Float64(k / t) ^ 2.0)))) / Float64(Float64(-l) / t))); else tmp = Float64(l * Float64(Float64(Float64(cos(k) / k) * Float64(2.0 * l)) / Float64(t * Float64(k * (sin(k) ^ 2.0))))); end return tmp 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
function tmp_2 = code(t, l, k) tmp = 0.0; if ((t <= -6.8e-79) || ~((t <= 1.95e-146))) tmp = 2.0 / (((t * ((t / l) * sin(k))) * (tan(k) * (-2.0 - ((k / t) ^ 2.0)))) / (-l / t)); else tmp = l * (((cos(k) / k) * (2.0 * l)) / (t * (k * (sin(k) ^ 2.0)))); end tmp_2 = tmp; 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]
code[t_, l_, k_] := If[Or[LessEqual[t, -6.8e-79], N[Not[LessEqual[t, 1.95e-146]], $MachinePrecision]], N[(2.0 / N[(N[(N[(t * N[(N[(t / l), $MachinePrecision] * N[Sin[k], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Tan[k], $MachinePrecision] * N[(-2.0 - N[Power[N[(k / t), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[((-l) / t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(l * N[(N[(N[(N[Cos[k], $MachinePrecision] / k), $MachinePrecision] * N[(2.0 * l), $MachinePrecision]), $MachinePrecision] / N[(t * N[(k * N[Power[N[Sin[k], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\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)}
\begin{array}{l}
\mathbf{if}\;t \leq -6.8 \cdot 10^{-79} \lor \neg \left(t \leq 1.95 \cdot 10^{-146}\right):\\
\;\;\;\;\frac{2}{\frac{\left(t \cdot \left(\frac{t}{\ell} \cdot \sin k\right)\right) \cdot \left(\tan k \cdot \left(-2 - {\left(\frac{k}{t}\right)}^{2}\right)\right)}{\frac{-\ell}{t}}}\\
\mathbf{else}:\\
\;\;\;\;\ell \cdot \frac{\frac{\cos k}{k} \cdot \left(2 \cdot \ell\right)}{t \cdot \left(k \cdot {\sin k}^{2}\right)}\\
\end{array}
Results
if t < -6.79999999999999951e-79 or 1.95000000000000001e-146 < t Initial program 61.6%
Simplified61.7%
[Start]61.6 | \[ \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)}
\] |
|---|---|
associate-*l* [=>]61.7 | \[ \frac{2}{\color{blue}{\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \left(\tan k \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)\right)}}
\] |
+-commutative [=>]61.7 | \[ \frac{2}{\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \left(\tan k \cdot \color{blue}{\left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right)}\right)}
\] |
Applied egg-rr72.4%
[Start]61.7 | \[ \frac{2}{\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \left(\tan k \cdot \left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right)\right)}
\] |
|---|---|
unpow3 [=>]61.7 | \[ \frac{2}{\left(\frac{\color{blue}{\left(t \cdot t\right) \cdot t}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \left(\tan k \cdot \left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right)\right)}
\] |
times-frac [=>]72.4 | \[ \frac{2}{\left(\color{blue}{\left(\frac{t \cdot t}{\ell} \cdot \frac{t}{\ell}\right)} \cdot \sin k\right) \cdot \left(\tan k \cdot \left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right)\right)}
\] |
Applied egg-rr86.0%
[Start]72.4 | \[ \frac{2}{\left(\left(\frac{t \cdot t}{\ell} \cdot \frac{t}{\ell}\right) \cdot \sin k\right) \cdot \left(\tan k \cdot \left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right)\right)}
\] |
|---|---|
associate-*l* [=>]76.5 | \[ \frac{2}{\color{blue}{\left(\frac{t \cdot t}{\ell} \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)}
\] |
associate-/l* [=>]84.3 | \[ \frac{2}{\left(\color{blue}{\frac{t}{\frac{\ell}{t}}} \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)}
\] |
associate-*l/ [=>]86.0 | \[ \frac{2}{\color{blue}{\frac{t \cdot \left(\frac{t}{\ell} \cdot \sin k\right)}{\frac{\ell}{t}}} \cdot \left(\tan k \cdot \left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right)\right)}
\] |
Applied egg-rr90.1%
[Start]86.0 | \[ \frac{2}{\frac{t \cdot \left(\frac{t}{\ell} \cdot \sin k\right)}{\frac{\ell}{t}} \cdot \left(\tan k \cdot \left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right)\right)}
\] |
|---|---|
frac-2neg [=>]86.0 | \[ \frac{2}{\color{blue}{\frac{-t \cdot \left(\frac{t}{\ell} \cdot \sin k\right)}{-\frac{\ell}{t}}} \cdot \left(\tan k \cdot \left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right)\right)}
\] |
associate-*l/ [=>]90.1 | \[ \frac{2}{\color{blue}{\frac{\left(-t \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)}{-\frac{\ell}{t}}}}
\] |
*-commutative [=>]90.1 | \[ \frac{2}{\frac{\left(-\color{blue}{\left(\frac{t}{\ell} \cdot \sin k\right) \cdot t}\right) \cdot \left(\tan k \cdot \left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right)\right)}{-\frac{\ell}{t}}}
\] |
distribute-rgt-neg-in [=>]90.1 | \[ \frac{2}{\frac{\color{blue}{\left(\left(\frac{t}{\ell} \cdot \sin k\right) \cdot \left(-t\right)\right)} \cdot \left(\tan k \cdot \left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right)\right)}{-\frac{\ell}{t}}}
\] |
associate-+r+ [=>]90.1 | \[ \frac{2}{\frac{\left(\left(\frac{t}{\ell} \cdot \sin k\right) \cdot \left(-t\right)\right) \cdot \left(\tan k \cdot \color{blue}{\left(\left(1 + 1\right) + {\left(\frac{k}{t}\right)}^{2}\right)}\right)}{-\frac{\ell}{t}}}
\] |
metadata-eval [=>]90.1 | \[ \frac{2}{\frac{\left(\left(\frac{t}{\ell} \cdot \sin k\right) \cdot \left(-t\right)\right) \cdot \left(\tan k \cdot \left(\color{blue}{2} + {\left(\frac{k}{t}\right)}^{2}\right)\right)}{-\frac{\ell}{t}}}
\] |
distribute-neg-frac [=>]90.1 | \[ \frac{2}{\frac{\left(\left(\frac{t}{\ell} \cdot \sin k\right) \cdot \left(-t\right)\right) \cdot \left(\tan k \cdot \left(2 + {\left(\frac{k}{t}\right)}^{2}\right)\right)}{\color{blue}{\frac{-\ell}{t}}}}
\] |
if -6.79999999999999951e-79 < t < 1.95000000000000001e-146Initial program 4.0%
Simplified3.8%
[Start]4.0 | \[ \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)}
\] |
|---|---|
*-commutative [=>]4.0 | \[ \frac{2}{\color{blue}{\left(\tan k \cdot \left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right)\right)} \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}
\] |
associate-/r/ [<=]4.0 | \[ \frac{2}{\left(\tan k \cdot \color{blue}{\frac{{t}^{3}}{\frac{\ell \cdot \ell}{\sin k}}}\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}
\] |
associate-*r/ [=>]3.7 | \[ \frac{2}{\color{blue}{\frac{\tan k \cdot {t}^{3}}{\frac{\ell \cdot \ell}{\sin k}}} \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}
\] |
associate-/l* [=>]3.8 | \[ \frac{2}{\frac{\tan k \cdot {t}^{3}}{\color{blue}{\frac{\ell}{\frac{\sin k}{\ell}}}} \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}
\] |
+-commutative [=>]3.8 | \[ \frac{2}{\frac{\tan k \cdot {t}^{3}}{\frac{\ell}{\frac{\sin k}{\ell}}} \cdot \color{blue}{\left(1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)\right)}}
\] |
associate-+r+ [=>]3.8 | \[ \frac{2}{\frac{\tan k \cdot {t}^{3}}{\frac{\ell}{\frac{\sin k}{\ell}}} \cdot \color{blue}{\left(\left(1 + 1\right) + {\left(\frac{k}{t}\right)}^{2}\right)}}
\] |
metadata-eval [=>]3.8 | \[ \frac{2}{\frac{\tan k \cdot {t}^{3}}{\frac{\ell}{\frac{\sin k}{\ell}}} \cdot \left(\color{blue}{2} + {\left(\frac{k}{t}\right)}^{2}\right)}
\] |
Taylor expanded in k around inf 56.3%
Simplified66.3%
[Start]56.3 | \[ \frac{2}{\frac{{k}^{2} \cdot \left({\sin k}^{2} \cdot t\right)}{\cos k \cdot {\ell}^{2}}}
\] |
|---|---|
times-frac [=>]53.0 | \[ \frac{2}{\color{blue}{\frac{{k}^{2}}{\cos k} \cdot \frac{{\sin k}^{2} \cdot t}{{\ell}^{2}}}}
\] |
unpow2 [=>]53.0 | \[ \frac{2}{\frac{\color{blue}{k \cdot k}}{\cos k} \cdot \frac{{\sin k}^{2} \cdot t}{{\ell}^{2}}}
\] |
*-commutative [=>]53.0 | \[ \frac{2}{\frac{k \cdot k}{\cos k} \cdot \frac{\color{blue}{t \cdot {\sin k}^{2}}}{{\ell}^{2}}}
\] |
unpow2 [=>]53.0 | \[ \frac{2}{\frac{k \cdot k}{\cos k} \cdot \frac{t \cdot {\sin k}^{2}}{\color{blue}{\ell \cdot \ell}}}
\] |
times-frac [=>]66.3 | \[ \frac{2}{\frac{k \cdot k}{\cos k} \cdot \color{blue}{\left(\frac{t}{\ell} \cdot \frac{{\sin k}^{2}}{\ell}\right)}}
\] |
Taylor expanded in k around inf 56.3%
Simplified63.6%
[Start]56.3 | \[ 2 \cdot \frac{\cos k \cdot {\ell}^{2}}{{k}^{2} \cdot \left({\sin k}^{2} \cdot t\right)}
\] |
|---|---|
*-commutative [<=]56.3 | \[ 2 \cdot \frac{\cos k \cdot {\ell}^{2}}{{k}^{2} \cdot \color{blue}{\left(t \cdot {\sin k}^{2}\right)}}
\] |
times-frac [=>]52.8 | \[ 2 \cdot \color{blue}{\left(\frac{\cos k}{{k}^{2}} \cdot \frac{{\ell}^{2}}{t \cdot {\sin k}^{2}}\right)}
\] |
unpow2 [=>]52.8 | \[ 2 \cdot \left(\frac{\cos k}{\color{blue}{k \cdot k}} \cdot \frac{{\ell}^{2}}{t \cdot {\sin k}^{2}}\right)
\] |
unpow2 [=>]52.8 | \[ 2 \cdot \left(\frac{\cos k}{k \cdot k} \cdot \frac{\color{blue}{\ell \cdot \ell}}{t \cdot {\sin k}^{2}}\right)
\] |
associate-*r/ [=>]53.3 | \[ 2 \cdot \color{blue}{\frac{\frac{\cos k}{k \cdot k} \cdot \left(\ell \cdot \ell\right)}{t \cdot {\sin k}^{2}}}
\] |
*-commutative [<=]53.3 | \[ 2 \cdot \frac{\color{blue}{\left(\ell \cdot \ell\right) \cdot \frac{\cos k}{k \cdot k}}}{t \cdot {\sin k}^{2}}
\] |
associate-*r/ [=>]53.3 | \[ \color{blue}{\frac{2 \cdot \left(\left(\ell \cdot \ell\right) \cdot \frac{\cos k}{k \cdot k}\right)}{t \cdot {\sin k}^{2}}}
\] |
*-commutative [=>]53.3 | \[ \frac{2 \cdot \color{blue}{\left(\frac{\cos k}{k \cdot k} \cdot \left(\ell \cdot \ell\right)\right)}}{t \cdot {\sin k}^{2}}
\] |
associate-*l* [<=]53.3 | \[ \frac{\color{blue}{\left(2 \cdot \frac{\cos k}{k \cdot k}\right) \cdot \left(\ell \cdot \ell\right)}}{t \cdot {\sin k}^{2}}
\] |
associate-*l/ [<=]56.2 | \[ \color{blue}{\frac{2 \cdot \frac{\cos k}{k \cdot k}}{t \cdot {\sin k}^{2}} \cdot \left(\ell \cdot \ell\right)}
\] |
associate-*r* [=>]61.9 | \[ \color{blue}{\left(\frac{2 \cdot \frac{\cos k}{k \cdot k}}{t \cdot {\sin k}^{2}} \cdot \ell\right) \cdot \ell}
\] |
Applied egg-rr87.1%
[Start]63.6 | \[ \ell \cdot \left(\frac{\frac{\cos k}{k}}{k \cdot {\sin k}^{2}} \cdot \left(\frac{2}{t} \cdot \ell\right)\right)
\] |
|---|---|
associate-*l/ [=>]63.7 | \[ \ell \cdot \left(\frac{\frac{\cos k}{k}}{k \cdot {\sin k}^{2}} \cdot \color{blue}{\frac{2 \cdot \ell}{t}}\right)
\] |
frac-times [=>]87.1 | \[ \ell \cdot \color{blue}{\frac{\frac{\cos k}{k} \cdot \left(2 \cdot \ell\right)}{\left(k \cdot {\sin k}^{2}\right) \cdot t}}
\] |
Final simplification89.4%
| Alternative 1 | |
|---|---|
| Accuracy | 86.2% |
| Cost | 21000 |
| Alternative 2 | |
|---|---|
| Accuracy | 79.6% |
| Cost | 20624 |
| Alternative 3 | |
|---|---|
| Accuracy | 83.3% |
| Cost | 20489 |
| Alternative 4 | |
|---|---|
| Accuracy | 80.9% |
| Cost | 20489 |
| Alternative 5 | |
|---|---|
| Accuracy | 84.9% |
| Cost | 20489 |
| Alternative 6 | |
|---|---|
| Accuracy | 86.3% |
| Cost | 20488 |
| Alternative 7 | |
|---|---|
| Accuracy | 80.0% |
| Cost | 20361 |
| Alternative 8 | |
|---|---|
| Accuracy | 78.0% |
| Cost | 14793 |
| Alternative 9 | |
|---|---|
| Accuracy | 78.0% |
| Cost | 14793 |
| Alternative 10 | |
|---|---|
| Accuracy | 73.5% |
| Cost | 14409 |
| Alternative 11 | |
|---|---|
| Accuracy | 76.4% |
| Cost | 14409 |
| Alternative 12 | |
|---|---|
| Accuracy | 66.9% |
| Cost | 8073 |
| Alternative 13 | |
|---|---|
| Accuracy | 68.7% |
| Cost | 7808 |
| Alternative 14 | |
|---|---|
| Accuracy | 53.1% |
| Cost | 7305 |
| Alternative 15 | |
|---|---|
| Accuracy | 62.6% |
| Cost | 7305 |
| Alternative 16 | |
|---|---|
| Accuracy | 61.5% |
| Cost | 7304 |
| Alternative 17 | |
|---|---|
| Accuracy | 46.1% |
| Cost | 1088 |
| Alternative 18 | |
|---|---|
| Accuracy | 46.3% |
| Cost | 1088 |
| Alternative 19 | |
|---|---|
| Accuracy | 42.9% |
| Cost | 960 |
| Alternative 20 | |
|---|---|
| Accuracy | 42.9% |
| Cost | 960 |
| Alternative 21 | |
|---|---|
| Accuracy | 43.1% |
| Cost | 960 |
| Alternative 22 | |
|---|---|
| Accuracy | 43.5% |
| Cost | 960 |
| Alternative 23 | |
|---|---|
| Accuracy | 43.7% |
| Cost | 960 |
| Alternative 24 | |
|---|---|
| Accuracy | 45.0% |
| Cost | 960 |
herbie shell --seed 2023141
(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))))