\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 -8.19471004965374614 \cdot 10^{-96}:\\
\;\;\;\;\frac{\frac{2 \cdot \ell}{{t}^{3} \cdot \sin k}}{\tan k} \cdot \frac{\ell}{\mathsf{fma}\left(2, 1, {\left(\frac{k}{t}\right)}^{2}\right)}\\
\mathbf{elif}\;t \le 4.42712960801617489 \cdot 10^{-84}:\\
\;\;\;\;\mathsf{fma}\left(0.23333333333333334, \frac{t \cdot {\ell}^{2}}{{k}^{2}}, -\mathsf{fma}\left(0.11666666666666667, {\left(\frac{1}{{t}^{1}}\right)}^{1} \cdot {\ell}^{2}, 0.333333333333333315 \cdot \left(\frac{{\ell}^{2}}{{k}^{2}} \cdot {\left(\frac{1}{{t}^{1}}\right)}^{1}\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{1}{\sqrt[3]{\tan k} \cdot \sqrt[3]{\tan k}} \cdot \left(\frac{\frac{2 \cdot \ell}{{t}^{3} \cdot \sin k}}{\sqrt[3]{\tan k}} \cdot \left(\sqrt[3]{\frac{\ell}{\mathsf{fma}\left(2, 1, {\left(\frac{k}{t}\right)}^{2}\right)}} \cdot \sqrt[3]{\frac{\ell}{\mathsf{fma}\left(2, 1, {\left(\frac{k}{t}\right)}^{2}\right)}}\right)\right)\right) \cdot \sqrt[3]{\frac{\ell}{\mathsf{fma}\left(2, 1, {\left(\frac{k}{t}\right)}^{2}\right)}}\\
\end{array}double f(double t, double l, double k) {
double r114490 = 2.0;
double r114491 = t;
double r114492 = 3.0;
double r114493 = pow(r114491, r114492);
double r114494 = l;
double r114495 = r114494 * r114494;
double r114496 = r114493 / r114495;
double r114497 = k;
double r114498 = sin(r114497);
double r114499 = r114496 * r114498;
double r114500 = tan(r114497);
double r114501 = r114499 * r114500;
double r114502 = 1.0;
double r114503 = r114497 / r114491;
double r114504 = pow(r114503, r114490);
double r114505 = r114502 + r114504;
double r114506 = r114505 + r114502;
double r114507 = r114501 * r114506;
double r114508 = r114490 / r114507;
return r114508;
}
double f(double t, double l, double k) {
double r114509 = t;
double r114510 = -8.194710049653746e-96;
bool r114511 = r114509 <= r114510;
double r114512 = 2.0;
double r114513 = l;
double r114514 = r114512 * r114513;
double r114515 = 3.0;
double r114516 = pow(r114509, r114515);
double r114517 = k;
double r114518 = sin(r114517);
double r114519 = r114516 * r114518;
double r114520 = r114514 / r114519;
double r114521 = tan(r114517);
double r114522 = r114520 / r114521;
double r114523 = 2.0;
double r114524 = 1.0;
double r114525 = r114517 / r114509;
double r114526 = pow(r114525, r114512);
double r114527 = fma(r114523, r114524, r114526);
double r114528 = r114513 / r114527;
double r114529 = r114522 * r114528;
double r114530 = 4.427129608016175e-84;
bool r114531 = r114509 <= r114530;
double r114532 = 0.23333333333333334;
double r114533 = pow(r114513, r114523);
double r114534 = r114509 * r114533;
double r114535 = pow(r114517, r114523);
double r114536 = r114534 / r114535;
double r114537 = 0.11666666666666667;
double r114538 = 1.0;
double r114539 = pow(r114509, r114524);
double r114540 = r114538 / r114539;
double r114541 = pow(r114540, r114524);
double r114542 = r114541 * r114533;
double r114543 = 0.3333333333333333;
double r114544 = r114533 / r114535;
double r114545 = r114544 * r114541;
double r114546 = r114543 * r114545;
double r114547 = fma(r114537, r114542, r114546);
double r114548 = -r114547;
double r114549 = fma(r114532, r114536, r114548);
double r114550 = cbrt(r114521);
double r114551 = r114550 * r114550;
double r114552 = r114538 / r114551;
double r114553 = r114520 / r114550;
double r114554 = cbrt(r114528);
double r114555 = r114554 * r114554;
double r114556 = r114553 * r114555;
double r114557 = r114552 * r114556;
double r114558 = r114557 * r114554;
double r114559 = r114531 ? r114549 : r114558;
double r114560 = r114511 ? r114529 : r114559;
return r114560;
}



Bits error versus t



Bits error versus l



Bits error versus k
if t < -8.194710049653746e-96Initial program 22.7
Simplified22.3
rmApplied *-un-lft-identity22.3
Applied times-frac21.1
Applied associate-*r*18.3
Simplified16.8
rmApplied associate-*l/16.8
if -8.194710049653746e-96 < t < 4.427129608016175e-84Initial program 60.5
Simplified61.4
rmApplied *-un-lft-identity61.4
Applied times-frac61.4
Applied associate-*r*61.7
Simplified61.5
rmApplied associate-*l/60.9
Taylor expanded around 0 50.2
Simplified50.2
if 4.427129608016175e-84 < t Initial program 23.8
Simplified23.8
rmApplied *-un-lft-identity23.8
Applied times-frac22.7
Applied associate-*r*19.4
Simplified17.7
rmApplied associate-*l/17.7
rmApplied add-cube-cbrt17.8
Applied associate-*r*17.8
rmApplied add-cube-cbrt17.9
Applied *-un-lft-identity17.9
Applied times-frac17.9
Applied associate-*l*17.5
Final simplification25.3
herbie shell --seed 2020034 +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))))