\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 -2.5232769949611197 \cdot 10^{129}:\\
\;\;\;\;\frac{2}{\left(\left(\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell}\right) \cdot \left(\frac{{t}^{\left(\frac{1}{3} \cdot 3\right)}}{\ell} \cdot \sin k\right)\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}\\
\mathbf{elif}\;\ell \le -1.0367076514937989 \cdot 10^{-160}:\\
\;\;\;\;\frac{2}{2 \cdot \frac{{t}^{3} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot {\ell}^{2}} - {\left(\frac{1}{{-1}^{3}}\right)}^{1} \cdot \frac{t \cdot \left({k}^{2} \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot {\ell}^{2}}}\\
\mathbf{elif}\;\ell \le 4.91740638561390836 \cdot 10^{-88}:\\
\;\;\;\;\frac{2}{\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell}\right) \cdot \left(\left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right) \cdot \left(\tan k \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)\right)\right)}\\
\mathbf{elif}\;\ell \le 3.35902858881991263 \cdot 10^{118}:\\
\;\;\;\;\frac{2}{2 \cdot \left({\left(\frac{1}{{-1}^{3}}\right)}^{1} \cdot \frac{{\left(\sqrt[3]{-1}\right)}^{9} \cdot \left({t}^{3} \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot {\ell}^{2}}\right) + {\left(\frac{1}{{-1}^{3}}\right)}^{1} \cdot \frac{{\left(\sqrt[3]{-1}\right)}^{9} \cdot \left({\left(\sin k\right)}^{2} \cdot \left({k}^{2} \cdot t\right)\right)}{\cos k \cdot {\ell}^{2}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell}\right) \cdot \left(\left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right) \cdot \left(\tan k \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)\right)\right)}\\
\end{array}double f(double t, double l, double k) {
double r112395 = 2.0;
double r112396 = t;
double r112397 = 3.0;
double r112398 = pow(r112396, r112397);
double r112399 = l;
double r112400 = r112399 * r112399;
double r112401 = r112398 / r112400;
double r112402 = k;
double r112403 = sin(r112402);
double r112404 = r112401 * r112403;
double r112405 = tan(r112402);
double r112406 = r112404 * r112405;
double r112407 = 1.0;
double r112408 = r112402 / r112396;
double r112409 = pow(r112408, r112395);
double r112410 = r112407 + r112409;
double r112411 = r112410 + r112407;
double r112412 = r112406 * r112411;
double r112413 = r112395 / r112412;
return r112413;
}
double f(double t, double l, double k) {
double r112414 = l;
double r112415 = -2.5232769949611197e+129;
bool r112416 = r112414 <= r112415;
double r112417 = 2.0;
double r112418 = t;
double r112419 = cbrt(r112418);
double r112420 = 3.0;
double r112421 = pow(r112419, r112420);
double r112422 = r112421 / r112414;
double r112423 = r112421 * r112422;
double r112424 = 0.3333333333333333;
double r112425 = r112424 * r112420;
double r112426 = pow(r112418, r112425);
double r112427 = r112426 / r112414;
double r112428 = k;
double r112429 = sin(r112428);
double r112430 = r112427 * r112429;
double r112431 = r112423 * r112430;
double r112432 = tan(r112428);
double r112433 = r112431 * r112432;
double r112434 = 1.0;
double r112435 = r112428 / r112418;
double r112436 = pow(r112435, r112417);
double r112437 = r112434 + r112436;
double r112438 = r112437 + r112434;
double r112439 = r112433 * r112438;
double r112440 = r112417 / r112439;
double r112441 = -1.0367076514937989e-160;
bool r112442 = r112414 <= r112441;
double r112443 = 3.0;
double r112444 = pow(r112418, r112443);
double r112445 = 2.0;
double r112446 = pow(r112429, r112445);
double r112447 = r112444 * r112446;
double r112448 = cos(r112428);
double r112449 = pow(r112414, r112445);
double r112450 = r112448 * r112449;
double r112451 = r112447 / r112450;
double r112452 = r112417 * r112451;
double r112453 = 1.0;
double r112454 = -1.0;
double r112455 = pow(r112454, r112420);
double r112456 = r112453 / r112455;
double r112457 = pow(r112456, r112434);
double r112458 = pow(r112428, r112445);
double r112459 = r112458 * r112446;
double r112460 = r112418 * r112459;
double r112461 = r112460 / r112450;
double r112462 = r112457 * r112461;
double r112463 = r112452 - r112462;
double r112464 = r112417 / r112463;
double r112465 = 4.9174063856139084e-88;
bool r112466 = r112414 <= r112465;
double r112467 = r112422 * r112429;
double r112468 = r112432 * r112438;
double r112469 = r112467 * r112468;
double r112470 = r112423 * r112469;
double r112471 = r112417 / r112470;
double r112472 = 3.3590285888199126e+118;
bool r112473 = r112414 <= r112472;
double r112474 = cbrt(r112454);
double r112475 = 9.0;
double r112476 = pow(r112474, r112475);
double r112477 = r112476 * r112447;
double r112478 = r112477 / r112450;
double r112479 = r112457 * r112478;
double r112480 = r112417 * r112479;
double r112481 = r112458 * r112418;
double r112482 = r112446 * r112481;
double r112483 = r112476 * r112482;
double r112484 = r112483 / r112450;
double r112485 = r112457 * r112484;
double r112486 = r112480 + r112485;
double r112487 = r112417 / r112486;
double r112488 = r112473 ? r112487 : r112471;
double r112489 = r112466 ? r112471 : r112488;
double r112490 = r112442 ? r112464 : r112489;
double r112491 = r112416 ? r112440 : r112490;
return r112491;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < -2.5232769949611197e+129Initial program 59.7
rmApplied add-cube-cbrt59.7
Applied unpow-prod-down59.7
Applied times-frac42.4
Applied associate-*l*42.4
rmApplied *-un-lft-identity42.4
Applied unpow-prod-down42.4
Applied times-frac25.4
Simplified25.4
rmApplied pow1/346.7
Applied pow-pow25.2
if -2.5232769949611197e+129 < l < -1.0367076514937989e-160Initial program 25.7
Taylor expanded around -inf 18.0
if -1.0367076514937989e-160 < l < 4.9174063856139084e-88 or 3.3590285888199126e+118 < l Initial program 32.3
rmApplied add-cube-cbrt32.4
Applied unpow-prod-down32.4
Applied times-frac23.7
Applied associate-*l*21.5
rmApplied *-un-lft-identity21.5
Applied unpow-prod-down21.5
Applied times-frac14.3
Simplified14.3
rmApplied associate-*l*13.9
rmApplied associate-*l*13.5
if 4.9174063856139084e-88 < l < 3.3590285888199126e+118Initial program 26.0
rmApplied add-cube-cbrt26.3
Applied unpow-prod-down26.3
Applied times-frac23.3
Applied associate-*l*21.8
Taylor expanded around -inf 19.1
Final simplification16.8
herbie shell --seed 2020100
(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))))