\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 -4.3481340441220306 \cdot 10^{144}:\\
\;\;\;\;2 \cdot \frac{\left({\left(\frac{1}{{k}^{2} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k}{\left|\sin k\right|}\right) \cdot \ell}{\frac{\left|\sin k\right|}{\ell}}\\
\mathbf{elif}\;\ell \le -1.2495359247218516 \cdot 10^{-168}:\\
\;\;\;\;2 \cdot \left({\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left({\left(\frac{\sqrt[3]{1}}{{k}^{\left(\frac{2}{2}\right)} \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)\right)\\
\mathbf{elif}\;\ell \le 3.06278465608672917 \cdot 10^{-159}:\\
\;\;\;\;2 \cdot \frac{\left({\left(\frac{1}{{k}^{2} \cdot {t}^{1}}\right)}^{1} \cdot \ell\right) \cdot \cos k}{\left|\sin k\right| \cdot \frac{\left|\sin k\right|}{\ell}}\\
\mathbf{elif}\;\ell \le 3.91257815295953864 \cdot 10^{153}:\\
\;\;\;\;2 \cdot \left({\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left({\left(\frac{\sqrt[3]{1}}{{k}^{\left(\frac{2}{2}\right)} \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)\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\left({\left(\frac{1}{{k}^{2} \cdot {t}^{1}}\right)}^{1} \cdot \ell\right) \cdot \cos k}{\left|\sin k\right| \cdot \frac{\left|\sin k\right|}{\ell}}\\
\end{array}double f(double t, double l, double k) {
double r85508 = 2.0;
double r85509 = t;
double r85510 = 3.0;
double r85511 = pow(r85509, r85510);
double r85512 = l;
double r85513 = r85512 * r85512;
double r85514 = r85511 / r85513;
double r85515 = k;
double r85516 = sin(r85515);
double r85517 = r85514 * r85516;
double r85518 = tan(r85515);
double r85519 = r85517 * r85518;
double r85520 = 1.0;
double r85521 = r85515 / r85509;
double r85522 = pow(r85521, r85508);
double r85523 = r85520 + r85522;
double r85524 = r85523 - r85520;
double r85525 = r85519 * r85524;
double r85526 = r85508 / r85525;
return r85526;
}
double f(double t, double l, double k) {
double r85527 = l;
double r85528 = -4.3481340441220306e+144;
bool r85529 = r85527 <= r85528;
double r85530 = 2.0;
double r85531 = 1.0;
double r85532 = k;
double r85533 = pow(r85532, r85530);
double r85534 = t;
double r85535 = 1.0;
double r85536 = pow(r85534, r85535);
double r85537 = r85533 * r85536;
double r85538 = r85531 / r85537;
double r85539 = pow(r85538, r85535);
double r85540 = cos(r85532);
double r85541 = sin(r85532);
double r85542 = fabs(r85541);
double r85543 = r85540 / r85542;
double r85544 = r85539 * r85543;
double r85545 = r85544 * r85527;
double r85546 = r85542 / r85527;
double r85547 = r85545 / r85546;
double r85548 = r85530 * r85547;
double r85549 = -1.2495359247218516e-168;
bool r85550 = r85527 <= r85549;
double r85551 = cbrt(r85531);
double r85552 = r85551 * r85551;
double r85553 = 2.0;
double r85554 = r85530 / r85553;
double r85555 = pow(r85532, r85554);
double r85556 = r85552 / r85555;
double r85557 = pow(r85556, r85535);
double r85558 = r85555 * r85536;
double r85559 = r85551 / r85558;
double r85560 = pow(r85559, r85535);
double r85561 = r85527 / r85546;
double r85562 = r85543 * r85561;
double r85563 = r85560 * r85562;
double r85564 = r85557 * r85563;
double r85565 = r85530 * r85564;
double r85566 = 3.062784656086729e-159;
bool r85567 = r85527 <= r85566;
double r85568 = r85539 * r85527;
double r85569 = r85568 * r85540;
double r85570 = r85542 * r85546;
double r85571 = r85569 / r85570;
double r85572 = r85530 * r85571;
double r85573 = 3.912578152959539e+153;
bool r85574 = r85527 <= r85573;
double r85575 = r85574 ? r85565 : r85572;
double r85576 = r85567 ? r85572 : r85575;
double r85577 = r85550 ? r85565 : r85576;
double r85578 = r85529 ? r85548 : r85577;
return r85578;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < -4.3481340441220306e+144Initial program 63.3
Simplified62.8
Taylor expanded around inf 62.2
rmApplied sqr-pow62.2
Applied associate-*l*61.6
rmApplied add-sqr-sqrt61.6
Applied times-frac61.6
Simplified61.6
Simplified61.6
rmApplied associate-*r/61.6
Applied associate-*r/38.1
Simplified45.9
if -4.3481340441220306e+144 < l < -1.2495359247218516e-168 or 3.062784656086729e-159 < l < 3.912578152959539e+153Initial program 44.5
Simplified34.7
Taylor expanded around inf 10.8
rmApplied sqr-pow10.8
Applied associate-*l*6.8
rmApplied add-sqr-sqrt6.8
Applied times-frac6.8
Simplified6.8
Simplified6.1
rmApplied add-cube-cbrt6.1
Applied times-frac5.9
Applied unpow-prod-down5.9
Applied associate-*l*3.4
if -1.2495359247218516e-168 < l < 3.062784656086729e-159 or 3.912578152959539e+153 < l Initial program 49.1
Simplified42.5
Taylor expanded around inf 28.4
rmApplied sqr-pow28.4
Applied associate-*l*28.4
rmApplied add-sqr-sqrt28.4
Applied times-frac28.4
Simplified28.4
Simplified23.8
rmApplied frac-times20.8
Applied associate-*r/12.1
Simplified16.5
Final simplification11.9
herbie shell --seed 2020057 +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))))