\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 -9.344040305863342 \cdot 10^{-120}:\\
\;\;\;\;\frac{\left(\frac{\sqrt[3]{\frac{2}{\tan k}}}{\sqrt[3]{t}} \cdot \frac{\ell}{t}\right) \cdot \frac{\sqrt[3]{\frac{2}{\tan k}} \cdot \sqrt[3]{\frac{2}{\tan k}}}{\sqrt[3]{t}}}{\mathsf{fma}\left(\left(\frac{k}{t}\right), \left(\frac{k}{t}\right), 2\right) \cdot \frac{\sqrt[3]{t}}{\frac{\frac{\ell}{t}}{\sin k}}}\\
\mathbf{elif}\;t \le 4.3910634771150225 \cdot 10^{-67}:\\
\;\;\;\;\frac{\frac{2}{\tan k}}{\mathsf{fma}\left(2, \left(\frac{t \cdot \sin k}{\frac{\ell}{t} \cdot \frac{\ell}{t}}\right), \left(\frac{\left(k \cdot \left(t \cdot \sin k\right)\right) \cdot k}{\ell \cdot \ell}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{\ell}{t} \cdot \frac{2}{\tan k}}{\sqrt[3]{t} \cdot \sqrt[3]{t}}}{\mathsf{fma}\left(\left(\frac{k}{t}\right), \left(\frac{k}{t}\right), 2\right) \cdot \frac{\sqrt[3]{t}}{\frac{\frac{\ell}{t}}{\sin k}}}\\
\end{array}double f(double t, double l, double k) {
double r3145224 = 2.0;
double r3145225 = t;
double r3145226 = 3.0;
double r3145227 = pow(r3145225, r3145226);
double r3145228 = l;
double r3145229 = r3145228 * r3145228;
double r3145230 = r3145227 / r3145229;
double r3145231 = k;
double r3145232 = sin(r3145231);
double r3145233 = r3145230 * r3145232;
double r3145234 = tan(r3145231);
double r3145235 = r3145233 * r3145234;
double r3145236 = 1.0;
double r3145237 = r3145231 / r3145225;
double r3145238 = pow(r3145237, r3145224);
double r3145239 = r3145236 + r3145238;
double r3145240 = r3145239 + r3145236;
double r3145241 = r3145235 * r3145240;
double r3145242 = r3145224 / r3145241;
return r3145242;
}
double f(double t, double l, double k) {
double r3145243 = t;
double r3145244 = -9.344040305863342e-120;
bool r3145245 = r3145243 <= r3145244;
double r3145246 = 2.0;
double r3145247 = k;
double r3145248 = tan(r3145247);
double r3145249 = r3145246 / r3145248;
double r3145250 = cbrt(r3145249);
double r3145251 = cbrt(r3145243);
double r3145252 = r3145250 / r3145251;
double r3145253 = l;
double r3145254 = r3145253 / r3145243;
double r3145255 = r3145252 * r3145254;
double r3145256 = r3145250 * r3145250;
double r3145257 = r3145256 / r3145251;
double r3145258 = r3145255 * r3145257;
double r3145259 = r3145247 / r3145243;
double r3145260 = fma(r3145259, r3145259, r3145246);
double r3145261 = sin(r3145247);
double r3145262 = r3145254 / r3145261;
double r3145263 = r3145251 / r3145262;
double r3145264 = r3145260 * r3145263;
double r3145265 = r3145258 / r3145264;
double r3145266 = 4.3910634771150225e-67;
bool r3145267 = r3145243 <= r3145266;
double r3145268 = r3145243 * r3145261;
double r3145269 = r3145254 * r3145254;
double r3145270 = r3145268 / r3145269;
double r3145271 = r3145247 * r3145268;
double r3145272 = r3145271 * r3145247;
double r3145273 = r3145253 * r3145253;
double r3145274 = r3145272 / r3145273;
double r3145275 = fma(r3145246, r3145270, r3145274);
double r3145276 = r3145249 / r3145275;
double r3145277 = r3145254 * r3145249;
double r3145278 = r3145251 * r3145251;
double r3145279 = r3145277 / r3145278;
double r3145280 = r3145279 / r3145264;
double r3145281 = r3145267 ? r3145276 : r3145280;
double r3145282 = r3145245 ? r3145265 : r3145281;
return r3145282;
}



Bits error versus t



Bits error versus l



Bits error versus k
if t < -9.344040305863342e-120Initial program 23.2
Simplified11.3
rmApplied *-un-lft-identity11.3
Applied times-frac9.7
Applied add-cube-cbrt9.9
Applied times-frac9.3
Applied associate-*l*8.0
rmApplied associate-/r*6.7
Simplified5.1
rmApplied add-cube-cbrt5.2
Applied times-frac5.2
Applied associate-*l*5.1
if -9.344040305863342e-120 < t < 4.3910634771150225e-67Initial program 59.5
Simplified41.1
Taylor expanded around -inf 38.8
Simplified18.6
if 4.3910634771150225e-67 < t Initial program 22.6
Simplified10.1
rmApplied *-un-lft-identity10.1
Applied times-frac8.5
Applied add-cube-cbrt8.7
Applied times-frac7.9
Applied associate-*l*7.2
rmApplied associate-/r*5.7
Simplified3.5
rmApplied associate-*l/3.4
Final simplification7.8
herbie shell --seed 2019132 +o rules:numerics
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10+)"
(/ 2 (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (+ (+ 1 (pow (/ k t) 2)) 1))))