\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 1.66999260568644201 \cdot 10^{-136}:\\
\;\;\;\;\log \left({\left(e^{\frac{\frac{2 \cdot \ell}{{t}^{\left(2 \cdot \frac{3}{2}\right)} \cdot \sin k} \cdot 1}{\tan k}}\right)}^{\left(\frac{\ell}{\mathsf{fma}\left(2, 1, {\left(\frac{k}{t}\right)}^{2}\right)}\right)}\right)\\
\mathbf{elif}\;t \le 1.6050627599136617 \cdot 10^{-37}:\\
\;\;\;\;\frac{\frac{1}{{t}^{\left(\frac{3}{2}\right)}}}{1} \cdot \left(\frac{\frac{2}{{t}^{\left(\frac{3}{2}\right)} \cdot \sin k} \cdot \ell}{\tan k} \cdot \frac{\ell}{\mathsf{fma}\left(2, 1, {\left(\frac{k}{t}\right)}^{2}\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\frac{1}{{t}^{\left(\frac{3}{2}\right)}} \cdot \left(\frac{2}{{t}^{\left(\frac{3}{2}\right)} \cdot \sin k} \cdot \ell\right)\right) \cdot \frac{1}{\tan k}\right) \cdot \frac{\ell}{\mathsf{fma}\left(2, 1, {\left(\frac{k}{t}\right)}^{2}\right)}\\
\end{array}double f(double t, double l, double k) {
double r286645 = 2.0;
double r286646 = t;
double r286647 = 3.0;
double r286648 = pow(r286646, r286647);
double r286649 = l;
double r286650 = r286649 * r286649;
double r286651 = r286648 / r286650;
double r286652 = k;
double r286653 = sin(r286652);
double r286654 = r286651 * r286653;
double r286655 = tan(r286652);
double r286656 = r286654 * r286655;
double r286657 = 1.0;
double r286658 = r286652 / r286646;
double r286659 = pow(r286658, r286645);
double r286660 = r286657 + r286659;
double r286661 = r286660 + r286657;
double r286662 = r286656 * r286661;
double r286663 = r286645 / r286662;
return r286663;
}
double f(double t, double l, double k) {
double r286664 = t;
double r286665 = 1.669992605686442e-136;
bool r286666 = r286664 <= r286665;
double r286667 = 2.0;
double r286668 = l;
double r286669 = r286667 * r286668;
double r286670 = 2.0;
double r286671 = 3.0;
double r286672 = r286671 / r286670;
double r286673 = r286670 * r286672;
double r286674 = pow(r286664, r286673);
double r286675 = k;
double r286676 = sin(r286675);
double r286677 = r286674 * r286676;
double r286678 = r286669 / r286677;
double r286679 = 1.0;
double r286680 = r286678 * r286679;
double r286681 = tan(r286675);
double r286682 = r286680 / r286681;
double r286683 = exp(r286682);
double r286684 = 1.0;
double r286685 = r286675 / r286664;
double r286686 = pow(r286685, r286667);
double r286687 = fma(r286670, r286684, r286686);
double r286688 = r286668 / r286687;
double r286689 = pow(r286683, r286688);
double r286690 = log(r286689);
double r286691 = 1.6050627599136617e-37;
bool r286692 = r286664 <= r286691;
double r286693 = pow(r286664, r286672);
double r286694 = r286679 / r286693;
double r286695 = r286694 / r286679;
double r286696 = r286693 * r286676;
double r286697 = r286667 / r286696;
double r286698 = r286697 * r286668;
double r286699 = r286698 / r286681;
double r286700 = r286699 * r286688;
double r286701 = r286695 * r286700;
double r286702 = r286694 * r286698;
double r286703 = r286679 / r286681;
double r286704 = r286702 * r286703;
double r286705 = r286704 * r286688;
double r286706 = r286692 ? r286701 : r286705;
double r286707 = r286666 ? r286690 : r286706;
return r286707;
}



Bits error versus t



Bits error versus l



Bits error versus k
if t < 1.669992605686442e-136Initial program 64.0
Simplified64.0
rmApplied *-un-lft-identity64.0
Applied times-frac64.0
Applied associate-*r*64.0
Simplified64.0
rmApplied sqr-pow64.0
Applied associate-*l*64.0
rmApplied add-log-exp64.0
Simplified41.0
if 1.669992605686442e-136 < t < 1.6050627599136617e-37Initial program 39.1
Simplified42.6
rmApplied *-un-lft-identity42.6
Applied times-frac42.2
Applied associate-*r*42.5
Simplified40.2
rmApplied sqr-pow40.2
Applied associate-*l*40.2
rmApplied *-un-lft-identity40.2
Applied times-frac40.2
Applied associate-*l*31.2
rmApplied *-un-lft-identity31.2
Applied times-frac31.1
Applied associate-*l*24.5
if 1.6050627599136617e-37 < t Initial program 22.5
Simplified22.1
rmApplied *-un-lft-identity22.1
Applied times-frac20.9
Applied associate-*r*17.1
Simplified15.7
rmApplied sqr-pow15.7
Applied associate-*l*13.5
rmApplied *-un-lft-identity13.5
Applied times-frac13.3
Applied associate-*l*9.7
rmApplied div-inv9.7
Final simplification17.8
herbie shell --seed 2020046 +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))))