\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 \cdot \ell \le 1.084960617494571136532106729940016148301 \cdot 10^{-276}:\\
\;\;\;\;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 \mathsf{fma}\left(\frac{\ell}{k}, \frac{\ell}{k}, {\ell}^{2} \cdot \frac{-1}{6}\right)\right)\\
\mathbf{elif}\;\ell \cdot \ell \le 1.064294734521519693928254286704808478679 \cdot 10^{294}:\\
\;\;\;\;\left(\left(\frac{{\ell}^{2}}{\sin k} \cdot \left(\frac{\cos k}{\sin k} \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1}\right)\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}\right) \cdot 2\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2}{\left(\left(\frac{{\left(\sqrt{t}\right)}^{3}}{\ell} \cdot \frac{{\left(\sqrt{t}\right)}^{3}}{\ell}\right) \cdot \sin k\right) \cdot \tan k}}{{\left(\frac{k}{t}\right)}^{2}}\\
\end{array}double f(double t, double l, double k) {
double r101539 = 2.0;
double r101540 = t;
double r101541 = 3.0;
double r101542 = pow(r101540, r101541);
double r101543 = l;
double r101544 = r101543 * r101543;
double r101545 = r101542 / r101544;
double r101546 = k;
double r101547 = sin(r101546);
double r101548 = r101545 * r101547;
double r101549 = tan(r101546);
double r101550 = r101548 * r101549;
double r101551 = 1.0;
double r101552 = r101546 / r101540;
double r101553 = pow(r101552, r101539);
double r101554 = r101551 + r101553;
double r101555 = r101554 - r101551;
double r101556 = r101550 * r101555;
double r101557 = r101539 / r101556;
return r101557;
}
double f(double t, double l, double k) {
double r101558 = l;
double r101559 = r101558 * r101558;
double r101560 = 1.0849606174945711e-276;
bool r101561 = r101559 <= r101560;
double r101562 = 2.0;
double r101563 = 1.0;
double r101564 = k;
double r101565 = 2.0;
double r101566 = r101562 / r101565;
double r101567 = pow(r101564, r101566);
double r101568 = t;
double r101569 = 1.0;
double r101570 = pow(r101568, r101569);
double r101571 = r101567 * r101570;
double r101572 = r101567 * r101571;
double r101573 = r101563 / r101572;
double r101574 = pow(r101573, r101569);
double r101575 = r101558 / r101564;
double r101576 = pow(r101558, r101565);
double r101577 = -0.16666666666666666;
double r101578 = r101576 * r101577;
double r101579 = fma(r101575, r101575, r101578);
double r101580 = r101574 * r101579;
double r101581 = r101562 * r101580;
double r101582 = 1.0642947345215197e+294;
bool r101583 = r101559 <= r101582;
double r101584 = sin(r101564);
double r101585 = r101576 / r101584;
double r101586 = cos(r101564);
double r101587 = r101586 / r101584;
double r101588 = r101563 / r101571;
double r101589 = pow(r101588, r101569);
double r101590 = r101587 * r101589;
double r101591 = r101585 * r101590;
double r101592 = r101563 / r101567;
double r101593 = pow(r101592, r101569);
double r101594 = r101591 * r101593;
double r101595 = r101594 * r101562;
double r101596 = sqrt(r101568);
double r101597 = 3.0;
double r101598 = pow(r101596, r101597);
double r101599 = r101598 / r101558;
double r101600 = r101599 * r101599;
double r101601 = r101600 * r101584;
double r101602 = tan(r101564);
double r101603 = r101601 * r101602;
double r101604 = r101562 / r101603;
double r101605 = r101564 / r101568;
double r101606 = pow(r101605, r101562);
double r101607 = r101604 / r101606;
double r101608 = r101583 ? r101595 : r101607;
double r101609 = r101561 ? r101581 : r101608;
return r101609;
}



Bits error versus t



Bits error versus l



Bits error versus k
if (* l l) < 1.0849606174945711e-276Initial program 45.5
Simplified36.7
Taylor expanded around inf 18.4
rmApplied sqr-pow18.4
Applied associate-*l*18.4
Taylor expanded around 0 19.0
Simplified10.1
if 1.0849606174945711e-276 < (* l l) < 1.0642947345215197e+294Initial program 44.7
Simplified35.6
Taylor expanded around inf 10.9
rmApplied sqr-pow10.9
Applied associate-*l*6.7
rmApplied *-un-lft-identity6.7
Applied times-frac6.3
Applied unpow-prod-down6.3
Applied associate-*l*3.5
rmApplied sqr-pow3.5
Applied times-frac3.1
Applied associate-*r*3.0
Simplified3.0
if 1.0642947345215197e+294 < (* l l) Initial program 63.3
Simplified63.1
rmApplied add-sqr-sqrt63.6
Applied unpow-prod-down63.6
Applied times-frac53.5
Final simplification14.0
herbie shell --seed 2019303 +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))))