\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 6.496561224617880670166453486268841442794 \cdot 10^{292}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left(\frac{\cos k}{\sin k} \cdot \left(\frac{{\ell}^{2}}{\sin k} \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1}\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2}{\left(\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{3}}{\ell} \cdot \frac{{\left(\sqrt[3]{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 r99628 = 2.0;
double r99629 = t;
double r99630 = 3.0;
double r99631 = pow(r99629, r99630);
double r99632 = l;
double r99633 = r99632 * r99632;
double r99634 = r99631 / r99633;
double r99635 = k;
double r99636 = sin(r99635);
double r99637 = r99634 * r99636;
double r99638 = tan(r99635);
double r99639 = r99637 * r99638;
double r99640 = 1.0;
double r99641 = r99635 / r99629;
double r99642 = pow(r99641, r99628);
double r99643 = r99640 + r99642;
double r99644 = r99643 - r99640;
double r99645 = r99639 * r99644;
double r99646 = r99628 / r99645;
return r99646;
}
double f(double t, double l, double k) {
double r99647 = l;
double r99648 = r99647 * r99647;
double r99649 = 6.496561224617881e+292;
bool r99650 = r99648 <= r99649;
double r99651 = 2.0;
double r99652 = 1.0;
double r99653 = k;
double r99654 = 2.0;
double r99655 = r99651 / r99654;
double r99656 = pow(r99653, r99655);
double r99657 = r99652 / r99656;
double r99658 = 1.0;
double r99659 = pow(r99657, r99658);
double r99660 = cos(r99653);
double r99661 = sin(r99653);
double r99662 = r99660 / r99661;
double r99663 = pow(r99647, r99654);
double r99664 = r99663 / r99661;
double r99665 = t;
double r99666 = pow(r99665, r99658);
double r99667 = r99656 * r99666;
double r99668 = r99652 / r99667;
double r99669 = pow(r99668, r99658);
double r99670 = r99664 * r99669;
double r99671 = r99662 * r99670;
double r99672 = r99659 * r99671;
double r99673 = r99651 * r99672;
double r99674 = cbrt(r99665);
double r99675 = r99674 * r99674;
double r99676 = 3.0;
double r99677 = pow(r99675, r99676);
double r99678 = r99677 / r99647;
double r99679 = pow(r99674, r99676);
double r99680 = r99679 / r99647;
double r99681 = r99678 * r99680;
double r99682 = r99681 * r99661;
double r99683 = tan(r99653);
double r99684 = r99682 * r99683;
double r99685 = r99651 / r99684;
double r99686 = r99653 / r99665;
double r99687 = pow(r99686, r99651);
double r99688 = r99685 / r99687;
double r99689 = r99650 ? r99673 : r99688;
return r99689;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if (* l l) < 6.496561224617881e+292Initial program 45.3
Simplified36.1
Taylor expanded around inf 14.4
rmApplied sqr-pow14.4
Applied associate-*l*11.9
rmApplied *-un-lft-identity11.9
Applied times-frac11.8
Applied unpow-prod-down11.8
Applied associate-*l*10.1
Simplified10.1
rmApplied unpow210.1
Applied times-frac9.7
Applied associate-*l*9.6
if 6.496561224617881e+292 < (* l l) Initial program 63.3
Simplified62.8
rmApplied add-cube-cbrt62.8
Applied unpow-prod-down62.8
Applied times-frac49.6
Final simplification15.8
herbie shell --seed 2019323
(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))))