\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 -0.04956632389129420057649610953376395627856:\\
\;\;\;\;\frac{2}{\frac{\left(\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \left(\left(\sqrt[3]{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k} \cdot \sqrt[3]{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k}\right) \cdot \sqrt[3]{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k}\right)\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}}}\\
\mathbf{elif}\;t \le 5.664702255757937422272483016053542230277 \cdot 10^{-60}:\\
\;\;\;\;\frac{2}{\frac{{\left(\frac{1}{{-1}^{2}}\right)}^{1} \cdot \frac{{k}^{2} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot \ell} + \frac{{t}^{2} \cdot {\left(\sin k\right)}^{2}}{\ell} \cdot \left(\left(2 \cdot {\left(\frac{1}{{-1}^{2}}\right)}^{1}\right) \cdot \frac{1}{\cos k}\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \left(\left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \left(\sqrt[3]{\sin k} \cdot \sqrt[3]{\sin k}\right)\right) \cdot \sqrt[3]{\sin k}\right)\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}}}\\
\end{array}double f(double t, double l, double k) {
double r134554 = 2.0;
double r134555 = t;
double r134556 = 3.0;
double r134557 = pow(r134555, r134556);
double r134558 = l;
double r134559 = r134558 * r134558;
double r134560 = r134557 / r134559;
double r134561 = k;
double r134562 = sin(r134561);
double r134563 = r134560 * r134562;
double r134564 = tan(r134561);
double r134565 = r134563 * r134564;
double r134566 = 1.0;
double r134567 = r134561 / r134555;
double r134568 = pow(r134567, r134554);
double r134569 = r134566 + r134568;
double r134570 = r134569 + r134566;
double r134571 = r134565 * r134570;
double r134572 = r134554 / r134571;
return r134572;
}
double f(double t, double l, double k) {
double r134573 = t;
double r134574 = -0.0495663238912942;
bool r134575 = r134573 <= r134574;
double r134576 = 2.0;
double r134577 = cbrt(r134573);
double r134578 = 3.0;
double r134579 = pow(r134577, r134578);
double r134580 = l;
double r134581 = r134579 / r134580;
double r134582 = k;
double r134583 = sin(r134582);
double r134584 = r134581 * r134583;
double r134585 = cbrt(r134584);
double r134586 = r134585 * r134585;
double r134587 = r134586 * r134585;
double r134588 = r134579 * r134587;
double r134589 = tan(r134582);
double r134590 = r134588 * r134589;
double r134591 = 1.0;
double r134592 = r134582 / r134573;
double r134593 = pow(r134592, r134576);
double r134594 = r134591 + r134593;
double r134595 = r134594 + r134591;
double r134596 = r134590 * r134595;
double r134597 = r134580 / r134579;
double r134598 = r134596 / r134597;
double r134599 = r134576 / r134598;
double r134600 = 5.664702255757937e-60;
bool r134601 = r134573 <= r134600;
double r134602 = 1.0;
double r134603 = -1.0;
double r134604 = pow(r134603, r134576);
double r134605 = r134602 / r134604;
double r134606 = pow(r134605, r134591);
double r134607 = 2.0;
double r134608 = pow(r134582, r134607);
double r134609 = pow(r134583, r134607);
double r134610 = r134608 * r134609;
double r134611 = cos(r134582);
double r134612 = r134611 * r134580;
double r134613 = r134610 / r134612;
double r134614 = r134606 * r134613;
double r134615 = pow(r134573, r134607);
double r134616 = r134615 * r134609;
double r134617 = r134616 / r134580;
double r134618 = r134576 * r134606;
double r134619 = r134602 / r134611;
double r134620 = r134618 * r134619;
double r134621 = r134617 * r134620;
double r134622 = r134614 + r134621;
double r134623 = r134622 / r134597;
double r134624 = r134576 / r134623;
double r134625 = cbrt(r134583);
double r134626 = r134625 * r134625;
double r134627 = r134581 * r134626;
double r134628 = r134627 * r134625;
double r134629 = r134579 * r134628;
double r134630 = r134629 * r134589;
double r134631 = r134630 * r134595;
double r134632 = r134631 / r134597;
double r134633 = r134576 / r134632;
double r134634 = r134601 ? r134624 : r134633;
double r134635 = r134575 ? r134599 : r134634;
return r134635;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -0.0495663238912942Initial program 22.9
rmApplied add-cube-cbrt23.1
Applied unpow-prod-down23.1
Applied times-frac15.7
Applied associate-*l*13.7
rmApplied unpow-prod-down13.7
Applied associate-/l*7.4
rmApplied associate-*l/5.8
Applied associate-*l/3.4
Applied associate-*l/3.3
rmApplied add-cube-cbrt3.3
if -0.0495663238912942 < t < 5.664702255757937e-60Initial program 52.8
rmApplied add-cube-cbrt52.9
Applied unpow-prod-down52.9
Applied times-frac44.9
Applied associate-*l*44.0
rmApplied unpow-prod-down44.0
Applied associate-/l*37.8
rmApplied associate-*l/37.9
Applied associate-*l/39.2
Applied associate-*l/35.7
Taylor expanded around -inf 23.2
Simplified23.2
if 5.664702255757937e-60 < t Initial program 22.1
rmApplied add-cube-cbrt22.3
Applied unpow-prod-down22.3
Applied times-frac15.4
Applied associate-*l*13.6
rmApplied unpow-prod-down13.5
Applied associate-/l*8.4
rmApplied associate-*l/7.1
Applied associate-*l/5.2
Applied associate-*l/4.8
rmApplied add-cube-cbrt4.8
Applied associate-*r*4.8
Final simplification10.6
herbie shell --seed 2019326
(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))))