\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 \le -7.34197474785895879644805628021741244835 \cdot 10^{153}:\\
\;\;\;\;\frac{\frac{2}{\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{3}}{\ell} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \tan k}}{{\left(\frac{k}{t}\right)}^{2}}\\
\mathbf{elif}\;\ell \le 4.162486401097287709225438879584039218636 \cdot 10^{148}:\\
\;\;\;\;\left(\left(\left(\frac{\cos k}{\sin k} \cdot \frac{{\ell}^{2}}{\sin k}\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1}\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}\right) \cdot 2\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2}{\frac{\frac{{t}^{3}}{\ell}}{\ell} \cdot {\left(\sin k\right)}^{2}}}{{\left(\sqrt[3]{\frac{k}{t}} \cdot \sqrt[3]{\frac{k}{t}}\right)}^{2}} \cdot \frac{\cos k}{{\left(\sqrt[3]{\frac{k}{t}}\right)}^{2}}\\
\end{array}double f(double t, double l, double k) {
double r100604 = 2.0;
double r100605 = t;
double r100606 = 3.0;
double r100607 = pow(r100605, r100606);
double r100608 = l;
double r100609 = r100608 * r100608;
double r100610 = r100607 / r100609;
double r100611 = k;
double r100612 = sin(r100611);
double r100613 = r100610 * r100612;
double r100614 = tan(r100611);
double r100615 = r100613 * r100614;
double r100616 = 1.0;
double r100617 = r100611 / r100605;
double r100618 = pow(r100617, r100604);
double r100619 = r100616 + r100618;
double r100620 = r100619 - r100616;
double r100621 = r100615 * r100620;
double r100622 = r100604 / r100621;
return r100622;
}
double f(double t, double l, double k) {
double r100623 = l;
double r100624 = -7.341974747858959e+153;
bool r100625 = r100623 <= r100624;
double r100626 = 2.0;
double r100627 = t;
double r100628 = cbrt(r100627);
double r100629 = r100628 * r100628;
double r100630 = 3.0;
double r100631 = pow(r100629, r100630);
double r100632 = r100631 / r100623;
double r100633 = pow(r100628, r100630);
double r100634 = r100633 / r100623;
double r100635 = k;
double r100636 = sin(r100635);
double r100637 = r100634 * r100636;
double r100638 = r100632 * r100637;
double r100639 = tan(r100635);
double r100640 = r100638 * r100639;
double r100641 = r100626 / r100640;
double r100642 = r100635 / r100627;
double r100643 = pow(r100642, r100626);
double r100644 = r100641 / r100643;
double r100645 = 4.1624864010972877e+148;
bool r100646 = r100623 <= r100645;
double r100647 = cos(r100635);
double r100648 = r100647 / r100636;
double r100649 = 2.0;
double r100650 = pow(r100623, r100649);
double r100651 = r100650 / r100636;
double r100652 = r100648 * r100651;
double r100653 = 1.0;
double r100654 = r100626 / r100649;
double r100655 = pow(r100635, r100654);
double r100656 = 1.0;
double r100657 = pow(r100627, r100656);
double r100658 = r100655 * r100657;
double r100659 = r100653 / r100658;
double r100660 = pow(r100659, r100656);
double r100661 = r100652 * r100660;
double r100662 = r100653 / r100655;
double r100663 = pow(r100662, r100656);
double r100664 = r100661 * r100663;
double r100665 = r100664 * r100626;
double r100666 = pow(r100627, r100630);
double r100667 = r100666 / r100623;
double r100668 = r100667 / r100623;
double r100669 = pow(r100636, r100649);
double r100670 = r100668 * r100669;
double r100671 = r100626 / r100670;
double r100672 = cbrt(r100642);
double r100673 = r100672 * r100672;
double r100674 = pow(r100673, r100626);
double r100675 = r100671 / r100674;
double r100676 = pow(r100672, r100626);
double r100677 = r100647 / r100676;
double r100678 = r100675 * r100677;
double r100679 = r100646 ? r100665 : r100678;
double r100680 = r100625 ? r100644 : r100679;
return r100680;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < -7.341974747858959e+153Initial program 64.0
Simplified64.0
rmApplied add-cube-cbrt64.0
Applied unpow-prod-down64.0
Applied times-frac50.5
Applied associate-*l*50.5
if -7.341974747858959e+153 < l < 4.1624864010972877e+148Initial program 45.1
Simplified36.2
Taylor expanded around inf 14.0
rmApplied sqr-pow14.0
Applied associate-*l*11.6
rmApplied add-cube-cbrt11.6
Applied times-frac11.5
Applied unpow-prod-down11.5
Applied associate-*l*9.7
Simplified9.7
rmApplied add-sqr-sqrt36.7
Applied unpow-prod-down36.7
Applied times-frac36.6
Simplified36.5
Simplified9.4
if 4.1624864010972877e+148 < l Initial program 63.6
Simplified63.3
rmApplied add-cube-cbrt63.3
Applied unpow-prod-down63.3
Applied tan-quot63.3
Applied associate-*r/63.3
Applied associate-/r/63.3
Applied times-frac63.3
Simplified51.1
Final simplification15.9
herbie shell --seed 2019325
(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))))