\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.5806908744214479 \cdot 10^{119}:\\
\;\;\;\;2 \cdot \left({\left(\frac{\sqrt{1}}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left(\frac{{\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1}}{\sqrt[3]{{\left(\sin k\right)}^{2}} \cdot \sqrt[3]{{\left(\sin k\right)}^{2}}} \cdot \frac{\cos k \cdot {\ell}^{2}}{\sqrt[3]{{\left(\sin k\right)}^{2}}}\right)\right)\\
\mathbf{elif}\;t \le -6.4170747030907667 \cdot 10^{-80}:\\
\;\;\;\;\frac{\frac{\sqrt{2}}{\frac{\sqrt[3]{{t}^{3}} \cdot \sqrt[3]{{t}^{3}}}{\ell}}}{\sin k \cdot \tan k} \cdot \frac{\frac{\sqrt{2}}{\frac{\sqrt[3]{{t}^{3}}}{\ell}}}{{\left(\frac{k}{t}\right)}^{2}}\\
\mathbf{elif}\;t \le 1.7472655777358584 \cdot 10^{-199}:\\
\;\;\;\;2 \cdot \left(\left(\frac{{\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1}}{\sin k} \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}\right) \cdot \frac{\cos k \cdot {\ell}^{2}}{\sin k}\right)\\
\mathbf{elif}\;t \le 4.331663927949164 \cdot 10^{-163}:\\
\;\;\;\;\frac{\frac{\sqrt{2}}{\frac{{\left(\sqrt{t}\right)}^{3}}{\ell}}}{\sin k \cdot \tan k} \cdot \frac{\frac{\sqrt{2}}{\frac{{\left(\sqrt{t}\right)}^{3}}{\ell}}}{{\left(\frac{k}{t}\right)}^{2}}\\
\mathbf{elif}\;t \le 2.21127017487973713 \cdot 10^{-96}:\\
\;\;\;\;2 \cdot \left(\left(\frac{{\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1}}{\sin k} \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}\right) \cdot \frac{\cos k \cdot {\ell}^{2}}{\sin k}\right)\\
\mathbf{elif}\;t \le 4.09195981999163155 \cdot 10^{194}:\\
\;\;\;\;\frac{\frac{\ell}{{t}^{\left(\frac{3}{2}\right)}}}{\sin k \cdot \tan k} \cdot \frac{\frac{2}{\frac{{t}^{\left(\frac{3}{2}\right)}}{\ell}}}{{\left(\frac{k}{t}\right)}^{2}}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{2} \cdot {t}^{1}}\right)}^{1} \cdot \left(\frac{\cos k}{\left|\sin k\right|} \cdot \frac{\ell}{\frac{\left|\sin k\right|}{\ell}}\right)\right)\\
\end{array}double f(double t, double l, double k) {
double r119624 = 2.0;
double r119625 = t;
double r119626 = 3.0;
double r119627 = pow(r119625, r119626);
double r119628 = l;
double r119629 = r119628 * r119628;
double r119630 = r119627 / r119629;
double r119631 = k;
double r119632 = sin(r119631);
double r119633 = r119630 * r119632;
double r119634 = tan(r119631);
double r119635 = r119633 * r119634;
double r119636 = 1.0;
double r119637 = r119631 / r119625;
double r119638 = pow(r119637, r119624);
double r119639 = r119636 + r119638;
double r119640 = r119639 - r119636;
double r119641 = r119635 * r119640;
double r119642 = r119624 / r119641;
return r119642;
}
double f(double t, double l, double k) {
double r119643 = t;
double r119644 = -9.580690874421448e+119;
bool r119645 = r119643 <= r119644;
double r119646 = 2.0;
double r119647 = 1.0;
double r119648 = sqrt(r119647);
double r119649 = k;
double r119650 = 2.0;
double r119651 = r119646 / r119650;
double r119652 = pow(r119649, r119651);
double r119653 = r119648 / r119652;
double r119654 = 1.0;
double r119655 = pow(r119653, r119654);
double r119656 = pow(r119643, r119654);
double r119657 = r119652 * r119656;
double r119658 = r119647 / r119657;
double r119659 = pow(r119658, r119654);
double r119660 = sin(r119649);
double r119661 = pow(r119660, r119650);
double r119662 = cbrt(r119661);
double r119663 = r119662 * r119662;
double r119664 = r119659 / r119663;
double r119665 = cos(r119649);
double r119666 = l;
double r119667 = pow(r119666, r119650);
double r119668 = r119665 * r119667;
double r119669 = r119668 / r119662;
double r119670 = r119664 * r119669;
double r119671 = r119655 * r119670;
double r119672 = r119646 * r119671;
double r119673 = -6.417074703090767e-80;
bool r119674 = r119643 <= r119673;
double r119675 = sqrt(r119646);
double r119676 = 3.0;
double r119677 = pow(r119643, r119676);
double r119678 = cbrt(r119677);
double r119679 = r119678 * r119678;
double r119680 = r119679 / r119666;
double r119681 = r119675 / r119680;
double r119682 = tan(r119649);
double r119683 = r119660 * r119682;
double r119684 = r119681 / r119683;
double r119685 = r119678 / r119666;
double r119686 = r119675 / r119685;
double r119687 = r119649 / r119643;
double r119688 = pow(r119687, r119646);
double r119689 = r119686 / r119688;
double r119690 = r119684 * r119689;
double r119691 = 1.7472655777358584e-199;
bool r119692 = r119643 <= r119691;
double r119693 = r119659 / r119660;
double r119694 = r119647 / r119652;
double r119695 = pow(r119694, r119654);
double r119696 = r119693 * r119695;
double r119697 = r119668 / r119660;
double r119698 = r119696 * r119697;
double r119699 = r119646 * r119698;
double r119700 = 4.331663927949164e-163;
bool r119701 = r119643 <= r119700;
double r119702 = sqrt(r119643);
double r119703 = pow(r119702, r119676);
double r119704 = r119703 / r119666;
double r119705 = r119675 / r119704;
double r119706 = r119705 / r119683;
double r119707 = r119705 / r119688;
double r119708 = r119706 * r119707;
double r119709 = 2.211270174879737e-96;
bool r119710 = r119643 <= r119709;
double r119711 = 4.0919598199916316e+194;
bool r119712 = r119643 <= r119711;
double r119713 = r119676 / r119650;
double r119714 = pow(r119643, r119713);
double r119715 = r119666 / r119714;
double r119716 = r119715 / r119683;
double r119717 = r119714 / r119666;
double r119718 = r119646 / r119717;
double r119719 = r119718 / r119688;
double r119720 = r119716 * r119719;
double r119721 = pow(r119649, r119646);
double r119722 = r119721 * r119656;
double r119723 = r119647 / r119722;
double r119724 = pow(r119723, r119654);
double r119725 = fabs(r119660);
double r119726 = r119665 / r119725;
double r119727 = r119725 / r119666;
double r119728 = r119666 / r119727;
double r119729 = r119726 * r119728;
double r119730 = r119724 * r119729;
double r119731 = r119646 * r119730;
double r119732 = r119712 ? r119720 : r119731;
double r119733 = r119710 ? r119699 : r119732;
double r119734 = r119701 ? r119708 : r119733;
double r119735 = r119692 ? r119699 : r119734;
double r119736 = r119674 ? r119690 : r119735;
double r119737 = r119645 ? r119672 : r119736;
return r119737;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -9.580690874421448e+119Initial program 53.7
Simplified39.3
Taylor expanded around inf 21.4
rmApplied sqr-pow21.4
Applied associate-*l*21.4
rmApplied add-sqr-sqrt21.4
Applied times-frac21.1
Applied unpow-prod-down21.1
Applied associate-*l*19.9
Simplified20.2
rmApplied add-cube-cbrt20.3
Applied times-frac19.2
if -9.580690874421448e+119 < t < -6.417074703090767e-80Initial program 32.4
Simplified24.6
rmApplied add-cube-cbrt24.7
Applied times-frac21.3
Applied add-sqr-sqrt21.3
Applied times-frac21.3
Applied times-frac14.8
if -6.417074703090767e-80 < t < 1.7472655777358584e-199 or 4.331663927949164e-163 < t < 2.211270174879737e-96Initial program 60.6
Simplified60.6
Taylor expanded around inf 25.8
rmApplied sqr-pow25.8
Applied associate-*l*19.2
rmApplied add-sqr-sqrt19.2
Applied times-frac19.1
Applied unpow-prod-down19.1
Applied associate-*l*18.7
Simplified18.7
rmApplied unpow218.7
Applied times-frac19.2
Applied associate-*r*19.8
Simplified19.8
if 1.7472655777358584e-199 < t < 4.331663927949164e-163Initial program 64.0
Simplified64.0
rmApplied add-sqr-sqrt64.0
Applied unpow-prod-down64.0
Applied times-frac39.1
Applied add-sqr-sqrt39.1
Applied times-frac39.1
Applied times-frac33.1
if 2.211270174879737e-96 < t < 4.0919598199916316e+194Initial program 36.2
Simplified28.9
rmApplied sqr-pow28.9
Applied times-frac21.5
Applied *-un-lft-identity21.5
Applied times-frac21.4
Applied times-frac15.2
Simplified15.2
if 4.0919598199916316e+194 < t Initial program 55.8
Simplified40.7
Taylor expanded around inf 20.4
rmApplied add-sqr-sqrt20.4
Applied times-frac20.4
Simplified20.4
Simplified19.4
Final simplification18.1
herbie shell --seed 2020047 +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))))