\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 -5.032269741332676 \cdot 10^{-63}:\\
\;\;\;\;\frac{2}{\frac{\frac{\frac{\tan k \cdot t}{\frac{\ell}{t}}}{\frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{\sin k \cdot \mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right)}}}{\frac{\sqrt[3]{\ell}}{t}}}\\
\mathbf{elif}\;t \le 3.5056626454071755 \cdot 10^{-65}:\\
\;\;\;\;\frac{2}{\frac{\mathsf{fma}\left(\frac{k \cdot k}{\ell}, \frac{\sin k \cdot \sin k}{\cos k}, \left(2 \cdot \frac{t \cdot t}{\ell}\right) \cdot \frac{\sin k \cdot \sin k}{\cos k}\right)}{\frac{\ell}{t}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right) \cdot \left(\sin k \cdot \left(\frac{t \cdot \sin k}{\cos k \cdot \ell} \cdot t\right)\right)}{\frac{\ell}{t}}}\\
\end{array}double f(double t, double l, double k) {
double r2750587 = 2.0;
double r2750588 = t;
double r2750589 = 3.0;
double r2750590 = pow(r2750588, r2750589);
double r2750591 = l;
double r2750592 = r2750591 * r2750591;
double r2750593 = r2750590 / r2750592;
double r2750594 = k;
double r2750595 = sin(r2750594);
double r2750596 = r2750593 * r2750595;
double r2750597 = tan(r2750594);
double r2750598 = r2750596 * r2750597;
double r2750599 = 1.0;
double r2750600 = r2750594 / r2750588;
double r2750601 = pow(r2750600, r2750587);
double r2750602 = r2750599 + r2750601;
double r2750603 = r2750602 + r2750599;
double r2750604 = r2750598 * r2750603;
double r2750605 = r2750587 / r2750604;
return r2750605;
}
double f(double t, double l, double k) {
double r2750606 = t;
double r2750607 = -5.032269741332676e-63;
bool r2750608 = r2750606 <= r2750607;
double r2750609 = 2.0;
double r2750610 = k;
double r2750611 = tan(r2750610);
double r2750612 = r2750611 * r2750606;
double r2750613 = l;
double r2750614 = r2750613 / r2750606;
double r2750615 = r2750612 / r2750614;
double r2750616 = cbrt(r2750613);
double r2750617 = r2750616 * r2750616;
double r2750618 = sin(r2750610);
double r2750619 = r2750610 / r2750606;
double r2750620 = fma(r2750619, r2750619, r2750609);
double r2750621 = r2750618 * r2750620;
double r2750622 = r2750617 / r2750621;
double r2750623 = r2750615 / r2750622;
double r2750624 = r2750616 / r2750606;
double r2750625 = r2750623 / r2750624;
double r2750626 = r2750609 / r2750625;
double r2750627 = 3.5056626454071755e-65;
bool r2750628 = r2750606 <= r2750627;
double r2750629 = r2750610 * r2750610;
double r2750630 = r2750629 / r2750613;
double r2750631 = r2750618 * r2750618;
double r2750632 = cos(r2750610);
double r2750633 = r2750631 / r2750632;
double r2750634 = r2750606 * r2750606;
double r2750635 = r2750634 / r2750613;
double r2750636 = r2750609 * r2750635;
double r2750637 = r2750636 * r2750633;
double r2750638 = fma(r2750630, r2750633, r2750637);
double r2750639 = r2750638 / r2750614;
double r2750640 = r2750609 / r2750639;
double r2750641 = r2750606 * r2750618;
double r2750642 = r2750632 * r2750613;
double r2750643 = r2750641 / r2750642;
double r2750644 = r2750643 * r2750606;
double r2750645 = r2750618 * r2750644;
double r2750646 = r2750620 * r2750645;
double r2750647 = r2750646 / r2750614;
double r2750648 = r2750609 / r2750647;
double r2750649 = r2750628 ? r2750640 : r2750648;
double r2750650 = r2750608 ? r2750626 : r2750649;
return r2750650;
}



Bits error versus t



Bits error versus l



Bits error versus k
if t < -5.032269741332676e-63Initial program 21.7
Simplified8.1
rmApplied associate-*l/7.0
Applied associate-*l/4.6
Applied associate-*l/4.4
rmApplied *-un-lft-identity4.4
Applied add-cube-cbrt4.6
Applied times-frac4.6
Applied associate-/r*5.5
Simplified6.0
if -5.032269741332676e-63 < t < 3.5056626454071755e-65Initial program 56.1
Simplified39.8
rmApplied associate-*l/39.8
Applied associate-*l/41.1
Applied associate-*l/37.3
rmApplied *-un-lft-identity37.3
Applied *-un-lft-identity37.3
Applied times-frac37.3
Applied associate-/r*37.3
Simplified31.3
Taylor expanded around inf 24.8
Simplified23.6
Taylor expanded around inf 21.2
Simplified18.1
if 3.5056626454071755e-65 < t Initial program 21.6
Simplified8.9
rmApplied associate-*l/7.7
Applied associate-*l/5.2
Applied associate-*l/4.6
Taylor expanded around inf 4.6
Final simplification9.0
herbie shell --seed 2019164 +o rules:numerics
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10+)"
(/ 2 (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (+ (+ 1 (pow (/ k t) 2)) 1))))