\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 -3.70785909935595357 \cdot 10^{51}:\\
\;\;\;\;\frac{2}{\frac{\left(\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \left(\frac{{\left(\sqrt[3]{\sqrt[3]{t} \cdot \sqrt[3]{t}}\right)}^{3}}{1} \cdot \left(\frac{{\left(\sqrt[3]{\sqrt[3]{t}}\right)}^{3}}{\ell} \cdot \sin k\right)\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 3.78445806884562164 \cdot 10^{-104}:\\
\;\;\;\;\frac{2}{\frac{{\left(\frac{1}{{-1}^{2}}\right)}^{1} \cdot \frac{{k}^{2} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot \ell} + 2 \cdot \left({\left(\frac{1}{{-1}^{2}}\right)}^{1} \cdot \frac{{\left(\sqrt[3]{-1}\right)}^{6} \cdot \left({t}^{2} \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot \ell}\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(\left(\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \tan k\right) \cdot \left(\sqrt[3]{\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1} \cdot \sqrt[3]{\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1}\right)\right) \cdot \sqrt[3]{\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1}}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}}}\\
\end{array}double f(double t, double l, double k) {
double r131660 = 2.0;
double r131661 = t;
double r131662 = 3.0;
double r131663 = pow(r131661, r131662);
double r131664 = l;
double r131665 = r131664 * r131664;
double r131666 = r131663 / r131665;
double r131667 = k;
double r131668 = sin(r131667);
double r131669 = r131666 * r131668;
double r131670 = tan(r131667);
double r131671 = r131669 * r131670;
double r131672 = 1.0;
double r131673 = r131667 / r131661;
double r131674 = pow(r131673, r131660);
double r131675 = r131672 + r131674;
double r131676 = r131675 + r131672;
double r131677 = r131671 * r131676;
double r131678 = r131660 / r131677;
return r131678;
}
double f(double t, double l, double k) {
double r131679 = t;
double r131680 = -3.7078590993559536e+51;
bool r131681 = r131679 <= r131680;
double r131682 = 2.0;
double r131683 = cbrt(r131679);
double r131684 = 3.0;
double r131685 = pow(r131683, r131684);
double r131686 = r131683 * r131683;
double r131687 = cbrt(r131686);
double r131688 = pow(r131687, r131684);
double r131689 = 1.0;
double r131690 = r131688 / r131689;
double r131691 = cbrt(r131683);
double r131692 = pow(r131691, r131684);
double r131693 = l;
double r131694 = r131692 / r131693;
double r131695 = k;
double r131696 = sin(r131695);
double r131697 = r131694 * r131696;
double r131698 = r131690 * r131697;
double r131699 = r131685 * r131698;
double r131700 = tan(r131695);
double r131701 = r131699 * r131700;
double r131702 = 1.0;
double r131703 = r131695 / r131679;
double r131704 = pow(r131703, r131682);
double r131705 = r131702 + r131704;
double r131706 = r131705 + r131702;
double r131707 = r131701 * r131706;
double r131708 = r131693 / r131685;
double r131709 = r131707 / r131708;
double r131710 = r131682 / r131709;
double r131711 = 3.7844580688456216e-104;
bool r131712 = r131679 <= r131711;
double r131713 = -1.0;
double r131714 = pow(r131713, r131682);
double r131715 = r131689 / r131714;
double r131716 = pow(r131715, r131702);
double r131717 = 2.0;
double r131718 = pow(r131695, r131717);
double r131719 = pow(r131696, r131717);
double r131720 = r131718 * r131719;
double r131721 = cos(r131695);
double r131722 = r131721 * r131693;
double r131723 = r131720 / r131722;
double r131724 = r131716 * r131723;
double r131725 = cbrt(r131713);
double r131726 = 6.0;
double r131727 = pow(r131725, r131726);
double r131728 = pow(r131679, r131717);
double r131729 = r131728 * r131719;
double r131730 = r131727 * r131729;
double r131731 = r131730 / r131722;
double r131732 = r131716 * r131731;
double r131733 = r131682 * r131732;
double r131734 = r131724 + r131733;
double r131735 = r131734 / r131708;
double r131736 = r131682 / r131735;
double r131737 = r131685 / r131693;
double r131738 = r131737 * r131696;
double r131739 = r131685 * r131738;
double r131740 = r131739 * r131700;
double r131741 = cbrt(r131706);
double r131742 = r131741 * r131741;
double r131743 = r131740 * r131742;
double r131744 = r131743 * r131741;
double r131745 = r131744 / r131708;
double r131746 = r131682 / r131745;
double r131747 = r131712 ? r131736 : r131746;
double r131748 = r131681 ? r131710 : r131747;
return r131748;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -3.7078590993559536e+51Initial program 24.0
rmApplied add-cube-cbrt24.1
Applied unpow-prod-down24.1
Applied times-frac15.9
Applied associate-*l*14.4
rmApplied unpow-prod-down14.4
Applied associate-/l*7.9
rmApplied associate-*l/6.1
Applied associate-*l/2.6
Applied associate-*l/2.7
rmApplied *-un-lft-identity2.7
Applied add-cube-cbrt2.7
Applied cbrt-prod2.7
Applied unpow-prod-down2.7
Applied times-frac2.7
Applied associate-*l*4.1
if -3.7078590993559536e+51 < t < 3.7844580688456216e-104Initial program 49.8
rmApplied add-cube-cbrt49.9
Applied unpow-prod-down49.9
Applied times-frac42.4
Applied associate-*l*40.8
rmApplied unpow-prod-down40.8
Applied associate-/l*35.4
rmApplied associate-*l/35.4
Applied associate-*l/36.2
Applied associate-*l/33.3
Taylor expanded around -inf 21.7
if 3.7844580688456216e-104 < t Initial program 23.5
rmApplied add-cube-cbrt23.7
Applied unpow-prod-down23.7
Applied times-frac17.3
Applied associate-*l*15.1
rmApplied unpow-prod-down15.1
Applied associate-/l*10.2
rmApplied associate-*l/9.0
Applied associate-*l/7.1
Applied associate-*l/6.0
rmApplied add-cube-cbrt6.1
Applied associate-*r*6.1
Final simplification11.0
herbie shell --seed 2020039
(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))))