\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 -1.2094829756305392 \cdot 10^{-97}:\\
\;\;\;\;2 \cdot \frac{{\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \left(\cos k \cdot {\ell}^{2}\right)\right)}{{\left(\sin k\right)}^{2}}\\
\mathbf{elif}\;\ell \le 1.53396116894158868 \cdot 10^{-171}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot \left({k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}\right)}\right)}^{1} \cdot \frac{\frac{\cos k}{\frac{\frac{{\left(\sqrt[3]{\sin k}\right)}^{4}}{\ell}}{\ell}}}{{\left(\sqrt[3]{\sin k}\right)}^{2}}\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left({\left(\frac{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} \cdot \cos k}{\sin k} \cdot \frac{{\ell}^{2}}{{\left(\sin k\right)}^{\left(\frac{2}{2}\right)}}\right)\right)\\
\end{array}double f(double t, double l, double k) {
double r92545 = 2.0;
double r92546 = t;
double r92547 = 3.0;
double r92548 = pow(r92546, r92547);
double r92549 = l;
double r92550 = r92549 * r92549;
double r92551 = r92548 / r92550;
double r92552 = k;
double r92553 = sin(r92552);
double r92554 = r92551 * r92553;
double r92555 = tan(r92552);
double r92556 = r92554 * r92555;
double r92557 = 1.0;
double r92558 = r92552 / r92546;
double r92559 = pow(r92558, r92545);
double r92560 = r92557 + r92559;
double r92561 = r92560 - r92557;
double r92562 = r92556 * r92561;
double r92563 = r92545 / r92562;
return r92563;
}
double f(double t, double l, double k) {
double r92564 = l;
double r92565 = -1.2094829756305392e-97;
bool r92566 = r92564 <= r92565;
double r92567 = 2.0;
double r92568 = 1.0;
double r92569 = k;
double r92570 = 2.0;
double r92571 = r92567 / r92570;
double r92572 = pow(r92569, r92571);
double r92573 = r92568 / r92572;
double r92574 = 1.0;
double r92575 = pow(r92573, r92574);
double r92576 = t;
double r92577 = pow(r92576, r92574);
double r92578 = r92572 * r92577;
double r92579 = r92568 / r92578;
double r92580 = pow(r92579, r92574);
double r92581 = cos(r92569);
double r92582 = pow(r92564, r92570);
double r92583 = r92581 * r92582;
double r92584 = r92580 * r92583;
double r92585 = r92575 * r92584;
double r92586 = sin(r92569);
double r92587 = pow(r92586, r92570);
double r92588 = r92585 / r92587;
double r92589 = r92567 * r92588;
double r92590 = 1.5339611689415887e-171;
bool r92591 = r92564 <= r92590;
double r92592 = r92572 * r92578;
double r92593 = r92568 / r92592;
double r92594 = pow(r92593, r92574);
double r92595 = cbrt(r92586);
double r92596 = 4.0;
double r92597 = pow(r92595, r92596);
double r92598 = r92597 / r92564;
double r92599 = r92598 / r92564;
double r92600 = r92581 / r92599;
double r92601 = pow(r92595, r92570);
double r92602 = r92600 / r92601;
double r92603 = r92594 * r92602;
double r92604 = r92567 * r92603;
double r92605 = r92580 * r92581;
double r92606 = r92605 / r92586;
double r92607 = r92570 / r92570;
double r92608 = pow(r92586, r92607);
double r92609 = r92582 / r92608;
double r92610 = r92606 * r92609;
double r92611 = r92575 * r92610;
double r92612 = r92567 * r92611;
double r92613 = r92591 ? r92604 : r92612;
double r92614 = r92566 ? r92589 : r92613;
return r92614;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < -1.2094829756305392e-97Initial program 50.2
Simplified43.4
Taylor expanded around inf 28.0
rmApplied sqr-pow28.0
Applied associate-*l*23.8
rmApplied *-un-lft-identity23.8
Applied times-frac23.6
Applied unpow-prod-down23.6
Applied associate-*l*21.0
rmApplied associate-*r/20.7
Applied associate-*r/20.7
if -1.2094829756305392e-97 < l < 1.5339611689415887e-171Initial program 44.7
Simplified35.7
Taylor expanded around inf 16.4
rmApplied sqr-pow16.4
Applied associate-*l*16.3
rmApplied add-cube-cbrt16.4
Applied unpow-prod-down16.4
Applied associate-/r*16.0
Simplified11.5
if 1.5339611689415887e-171 < l Initial program 49.3
Simplified42.0
Taylor expanded around inf 22.6
rmApplied sqr-pow22.6
Applied associate-*l*19.7
rmApplied *-un-lft-identity19.7
Applied times-frac19.5
Applied unpow-prod-down19.5
Applied associate-*l*17.2
rmApplied sqr-pow17.2
Applied times-frac16.7
Applied associate-*r*16.9
Simplified16.8
Final simplification15.9
herbie shell --seed 2020060
(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))))