\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}\;k \le -1.3484728286962528 \cdot 10^{169}:\\
\;\;\;\;2 \cdot \left({\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left({\left(\frac{\sqrt[3]{1}}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right)\right)\\
\mathbf{elif}\;k \le -1.5790227602943146 \cdot 10^{-138}:\\
\;\;\;\;2 \cdot \frac{\left({\left(\frac{1}{{k}^{2} \cdot {t}^{1}}\right)}^{1} \cdot \ell\right) \cdot \cos k}{\sin k \cdot \frac{\sin k}{\ell}}\\
\mathbf{elif}\;k \le 1.2653785684425997 \cdot 10^{-118}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot \left({k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}\right)}\right)}^{1} \cdot \frac{\frac{\cos k}{\sin k} \cdot \ell}{\frac{\sin k}{\ell}}\right)\\
\mathbf{elif}\;k \le 2.25324371902540199 \cdot 10^{110}:\\
\;\;\;\;2 \cdot \frac{\left({\left(\frac{1}{{k}^{2} \cdot {t}^{1}}\right)}^{1} \cdot \ell\right) \cdot \cos k}{\sin k \cdot \frac{\sin k}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left({\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left({\left(\frac{\sqrt[3]{1}}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right)\right)\\
\end{array}double f(double t, double l, double k) {
double r97132 = 2.0;
double r97133 = t;
double r97134 = 3.0;
double r97135 = pow(r97133, r97134);
double r97136 = l;
double r97137 = r97136 * r97136;
double r97138 = r97135 / r97137;
double r97139 = k;
double r97140 = sin(r97139);
double r97141 = r97138 * r97140;
double r97142 = tan(r97139);
double r97143 = r97141 * r97142;
double r97144 = 1.0;
double r97145 = r97139 / r97133;
double r97146 = pow(r97145, r97132);
double r97147 = r97144 + r97146;
double r97148 = r97147 - r97144;
double r97149 = r97143 * r97148;
double r97150 = r97132 / r97149;
return r97150;
}
double f(double t, double l, double k) {
double r97151 = k;
double r97152 = -1.3484728286962528e+169;
bool r97153 = r97151 <= r97152;
double r97154 = 2.0;
double r97155 = 1.0;
double r97156 = cbrt(r97155);
double r97157 = r97156 * r97156;
double r97158 = 2.0;
double r97159 = r97154 / r97158;
double r97160 = pow(r97151, r97159);
double r97161 = r97157 / r97160;
double r97162 = 1.0;
double r97163 = pow(r97161, r97162);
double r97164 = t;
double r97165 = pow(r97164, r97162);
double r97166 = r97160 * r97165;
double r97167 = r97156 / r97166;
double r97168 = pow(r97167, r97162);
double r97169 = cos(r97151);
double r97170 = l;
double r97171 = pow(r97170, r97158);
double r97172 = r97169 * r97171;
double r97173 = sin(r97151);
double r97174 = pow(r97173, r97158);
double r97175 = r97172 / r97174;
double r97176 = r97168 * r97175;
double r97177 = r97163 * r97176;
double r97178 = r97154 * r97177;
double r97179 = -1.5790227602943146e-138;
bool r97180 = r97151 <= r97179;
double r97181 = pow(r97151, r97154);
double r97182 = r97181 * r97165;
double r97183 = r97155 / r97182;
double r97184 = pow(r97183, r97162);
double r97185 = r97184 * r97170;
double r97186 = r97185 * r97169;
double r97187 = r97173 / r97170;
double r97188 = r97173 * r97187;
double r97189 = r97186 / r97188;
double r97190 = r97154 * r97189;
double r97191 = 1.2653785684425997e-118;
bool r97192 = r97151 <= r97191;
double r97193 = r97160 * r97166;
double r97194 = r97155 / r97193;
double r97195 = pow(r97194, r97162);
double r97196 = r97169 / r97173;
double r97197 = r97196 * r97170;
double r97198 = r97197 / r97187;
double r97199 = r97195 * r97198;
double r97200 = r97154 * r97199;
double r97201 = 2.253243719025402e+110;
bool r97202 = r97151 <= r97201;
double r97203 = r97202 ? r97190 : r97178;
double r97204 = r97192 ? r97200 : r97203;
double r97205 = r97180 ? r97190 : r97204;
double r97206 = r97153 ? r97178 : r97205;
return r97206;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if k < -1.3484728286962528e+169 or 2.253243719025402e+110 < k Initial program 40.0
Simplified35.2
Taylor expanded around inf 23.4
rmApplied sqr-pow23.4
Applied associate-*l*18.8
rmApplied add-cube-cbrt18.8
Applied times-frac18.6
Applied unpow-prod-down18.6
Applied associate-*l*15.5
if -1.3484728286962528e+169 < k < -1.5790227602943146e-138 or 1.2653785684425997e-118 < k < 2.253243719025402e+110Initial program 53.2
Simplified42.0
Taylor expanded around inf 17.0
rmApplied sqr-pow17.0
Applied associate-*l*16.6
rmApplied add-sqr-sqrt40.0
Applied unpow-prod-down40.0
Applied times-frac40.0
Simplified40.0
Simplified15.1
rmApplied frac-times13.8
Applied associate-*r/7.1
Simplified7.7
if -1.5790227602943146e-138 < k < 1.2653785684425997e-118Initial program 64.0
Simplified64.0
Taylor expanded around inf 54.3
rmApplied sqr-pow54.3
Applied associate-*l*54.3
rmApplied add-sqr-sqrt57.8
Applied unpow-prod-down57.8
Applied times-frac55.1
Simplified55.1
Simplified29.0
rmApplied associate-*r/16.5
Final simplification11.7
herbie shell --seed 2020036 +o rules:numerics
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10-)"
:precision binary64
(/ 2 (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (- (+ 1 (pow (/ k t) 2)) 1))))