\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 \le -1.29821928456958346 \cdot 10^{-82} \lor \neg \left(t \le 3.814560346462089 \cdot 10^{-73}\right):\\
\;\;\;\;\left(\ell \cdot \frac{\sqrt{2}}{1 + \left(1 + {\left(\frac{k}{t}\right)}^{2}\right)}\right) \cdot \frac{\sqrt{2}}{\sin k \cdot \left(\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \left(\tan k \cdot {\left(\sqrt[3]{t}\right)}^{3}\right)\right) \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell}\right)}\\
\mathbf{else}:\\
\;\;\;\;\ell \cdot \frac{2}{\left(\frac{k}{\frac{\cos k}{k}} \cdot \frac{{\left(\sin k\right)}^{2}}{\ell}\right) \cdot {\left(\frac{1}{{\left({\left(\frac{1}{t}\right)}^{1}\right)}^{1}}\right)}^{1}}\\
\end{array}double code(double t, double l, double k) {
return ((double) (2.0 / ((double) (((double) (((double) (((double) (((double) pow(t, 3.0)) / ((double) (l * l)))) * ((double) sin(k)))) * ((double) tan(k)))) * ((double) (((double) (1.0 + ((double) pow(((double) (k / t)), 2.0)))) + 1.0))))));
}
double code(double t, double l, double k) {
double VAR;
if (((t <= -1.2982192845695835e-82) || !(t <= 3.814560346462089e-73))) {
VAR = ((double) (((double) (l * ((double) (((double) sqrt(2.0)) / ((double) (1.0 + ((double) (1.0 + ((double) pow(((double) (k / t)), 2.0)))))))))) * ((double) (((double) sqrt(2.0)) / ((double) (((double) sin(k)) * ((double) (((double) (((double) pow(((double) cbrt(t)), 3.0)) * ((double) (((double) tan(k)) * ((double) pow(((double) cbrt(t)), 3.0)))))) * ((double) (((double) pow(((double) cbrt(t)), 3.0)) / l))))))))));
} else {
VAR = ((double) (l * ((double) (2.0 / ((double) (((double) (((double) (k / ((double) (((double) cos(k)) / k)))) * ((double) (((double) pow(((double) sin(k)), 2.0)) / l)))) * ((double) pow(((double) (1.0 / ((double) pow(((double) pow(((double) (1.0 / t)), 1.0)), 1.0)))), 1.0))))))));
}
return VAR;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -1.29821928456958346e-82 or 3.814560346462089e-73 < t Initial program 22.8
Simplified17.8
rmApplied *-un-lft-identity17.8
Applied add-cube-cbrt18.1
Applied unpow-prod-down18.1
Applied times-frac16.2
Simplified16.2
rmApplied associate-*r*14.2
rmApplied unpow-prod-down14.2
Applied associate-*r*12.4
rmApplied add-sqr-sqrt12.4
Applied times-frac12.3
Applied associate-*r*11.9
if -1.29821928456958346e-82 < t < 3.814560346462089e-73Initial program 58.5
Simplified58.1
Taylor expanded around inf 42.8
Simplified22.6
Final simplification14.8
herbie shell --seed 2020184
(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))))