\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}\;\ell \le -4.767926568016393126457677186561838999712 \cdot 10^{-144}:\\
\;\;\;\;2 \cdot \left({\left(\frac{\sqrt{1}}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left(\left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \left(\cos k \cdot {\ell}^{2}\right)\right) \cdot \frac{1}{{\left(\sin k\right)}^{2}}\right)\right)\\
\mathbf{elif}\;\ell \le 7.868644037131389794828350389295985380254 \cdot 10^{-109}:\\
\;\;\;\;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}{\frac{\frac{{\left(\sqrt[3]{\sin k}\right)}^{4}}{\ell}}{\ell}}}{{\left(\sqrt[3]{\sin k}\right)}^{2}}\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left({\left(\frac{\sqrt{1}}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left(\left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k}{\sqrt{{\left(\sin k\right)}^{2}}}\right) \cdot \frac{{\ell}^{2}}{\sqrt{{\left(\sin k\right)}^{2}}}\right)\right)\\
\end{array}double f(double t, double l, double k) {
double r92244 = 2.0;
double r92245 = t;
double r92246 = 3.0;
double r92247 = pow(r92245, r92246);
double r92248 = l;
double r92249 = r92248 * r92248;
double r92250 = r92247 / r92249;
double r92251 = k;
double r92252 = sin(r92251);
double r92253 = r92250 * r92252;
double r92254 = tan(r92251);
double r92255 = r92253 * r92254;
double r92256 = 1.0;
double r92257 = r92251 / r92245;
double r92258 = pow(r92257, r92244);
double r92259 = r92256 + r92258;
double r92260 = r92259 - r92256;
double r92261 = r92255 * r92260;
double r92262 = r92244 / r92261;
return r92262;
}
double f(double t, double l, double k) {
double r92263 = l;
double r92264 = -4.767926568016393e-144;
bool r92265 = r92263 <= r92264;
double r92266 = 2.0;
double r92267 = 1.0;
double r92268 = sqrt(r92267);
double r92269 = k;
double r92270 = 2.0;
double r92271 = r92266 / r92270;
double r92272 = pow(r92269, r92271);
double r92273 = r92268 / r92272;
double r92274 = 1.0;
double r92275 = pow(r92273, r92274);
double r92276 = t;
double r92277 = pow(r92276, r92274);
double r92278 = r92272 * r92277;
double r92279 = r92267 / r92278;
double r92280 = pow(r92279, r92274);
double r92281 = cos(r92269);
double r92282 = pow(r92263, r92270);
double r92283 = r92281 * r92282;
double r92284 = r92280 * r92283;
double r92285 = sin(r92269);
double r92286 = pow(r92285, r92270);
double r92287 = r92267 / r92286;
double r92288 = r92284 * r92287;
double r92289 = r92275 * r92288;
double r92290 = r92266 * r92289;
double r92291 = 7.86864403713139e-109;
bool r92292 = r92263 <= r92291;
double r92293 = r92272 * r92278;
double r92294 = r92267 / r92293;
double r92295 = pow(r92294, r92274);
double r92296 = cbrt(r92285);
double r92297 = 4.0;
double r92298 = pow(r92296, r92297);
double r92299 = r92298 / r92263;
double r92300 = r92299 / r92263;
double r92301 = r92281 / r92300;
double r92302 = pow(r92296, r92270);
double r92303 = r92301 / r92302;
double r92304 = r92295 * r92303;
double r92305 = r92266 * r92304;
double r92306 = sqrt(r92286);
double r92307 = r92281 / r92306;
double r92308 = r92280 * r92307;
double r92309 = r92282 / r92306;
double r92310 = r92308 * r92309;
double r92311 = r92275 * r92310;
double r92312 = r92266 * r92311;
double r92313 = r92292 ? r92305 : r92312;
double r92314 = r92265 ? r92290 : r92313;
return r92314;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < -4.767926568016393e-144Initial program 49.5
Simplified42.3
Taylor expanded around inf 23.8
rmApplied sqr-pow23.8
Applied associate-*l*20.0
rmApplied add-sqr-sqrt20.0
Applied times-frac19.7
Applied unpow-prod-down19.7
Applied associate-*l*17.2
Simplified17.2
rmApplied div-inv17.3
Applied associate-*r*17.5
if -4.767926568016393e-144 < l < 7.86864403713139e-109Initial program 45.8
Simplified36.0
Taylor expanded around inf 16.9
rmApplied sqr-pow16.9
Applied associate-*l*16.8
rmApplied add-cube-cbrt16.9
Applied unpow-prod-down16.9
Applied associate-/r*16.5
Simplified11.5
if 7.86864403713139e-109 < l Initial program 51.4
Simplified44.2
Taylor expanded around inf 27.7
rmApplied sqr-pow27.7
Applied associate-*l*23.7
rmApplied add-sqr-sqrt23.7
Applied times-frac23.3
Applied unpow-prod-down23.3
Applied associate-*l*20.8
Simplified20.8
rmApplied add-sqr-sqrt20.8
Applied times-frac20.8
Applied associate-*r*20.5
Final simplification16.0
herbie shell --seed 2020001 +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))))