\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.484239696005438759151946975339159010231 \cdot 10^{123}:\\
\;\;\;\;\frac{2}{\left(\left(\left(\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \frac{{t}^{\left(\frac{1}{3} \cdot 3\right)}}{\ell}\right) \cdot \frac{{t}^{\left(\frac{1}{3} \cdot 3\right)}}{\ell}\right) \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}\\
\mathbf{elif}\;\ell \le -25217102.0555565096437931060791015625:\\
\;\;\;\;\frac{2}{\mathsf{fma}\left(2, {\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}}, {\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}}\right)}\\
\mathbf{elif}\;\ell \le 2.297049428607241564178931690682164825056 \cdot 10^{-139}:\\
\;\;\;\;\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 5.548140519913770723669052513231581727514 \cdot 10^{121}:\\
\;\;\;\;\frac{2}{2 \cdot \left({\left(\frac{1}{{-1}^{2}}\right)}^{1} \cdot \frac{{\left(\sqrt[3]{-1}\right)}^{6} \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{t \cdot \left({k}^{2} \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot {\ell}^{2}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\left(\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \frac{{t}^{\left(\frac{1}{3} \cdot 3\right)}}{\ell}\right) \cdot \frac{{t}^{\left(\frac{1}{3} \cdot 3\right)}}{\ell}\right) \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}\\
\end{array}double f(double t, double l, double k) {
double r138005 = 2.0;
double r138006 = t;
double r138007 = 3.0;
double r138008 = pow(r138006, r138007);
double r138009 = l;
double r138010 = r138009 * r138009;
double r138011 = r138008 / r138010;
double r138012 = k;
double r138013 = sin(r138012);
double r138014 = r138011 * r138013;
double r138015 = tan(r138012);
double r138016 = r138014 * r138015;
double r138017 = 1.0;
double r138018 = r138012 / r138006;
double r138019 = pow(r138018, r138005);
double r138020 = r138017 + r138019;
double r138021 = r138020 + r138017;
double r138022 = r138016 * r138021;
double r138023 = r138005 / r138022;
return r138023;
}
double f(double t, double l, double k) {
double r138024 = l;
double r138025 = -2.4842396960054388e+123;
bool r138026 = r138024 <= r138025;
double r138027 = 2.0;
double r138028 = t;
double r138029 = cbrt(r138028);
double r138030 = 3.0;
double r138031 = pow(r138029, r138030);
double r138032 = 0.3333333333333333;
double r138033 = r138032 * r138030;
double r138034 = pow(r138028, r138033);
double r138035 = r138034 / r138024;
double r138036 = r138031 * r138035;
double r138037 = r138036 * r138035;
double r138038 = k;
double r138039 = sin(r138038);
double r138040 = r138037 * r138039;
double r138041 = tan(r138038);
double r138042 = r138040 * r138041;
double r138043 = 1.0;
double r138044 = r138038 / r138028;
double r138045 = pow(r138044, r138027);
double r138046 = r138043 + r138045;
double r138047 = r138046 + r138043;
double r138048 = r138042 * r138047;
double r138049 = r138027 / r138048;
double r138050 = -25217102.05555651;
bool r138051 = r138024 <= r138050;
double r138052 = 1.0;
double r138053 = -1.0;
double r138054 = pow(r138053, r138030);
double r138055 = r138052 / r138054;
double r138056 = pow(r138055, r138043);
double r138057 = cbrt(r138053);
double r138058 = 9.0;
double r138059 = pow(r138057, r138058);
double r138060 = 3.0;
double r138061 = pow(r138028, r138060);
double r138062 = 2.0;
double r138063 = pow(r138039, r138062);
double r138064 = r138061 * r138063;
double r138065 = r138059 * r138064;
double r138066 = cos(r138038);
double r138067 = pow(r138024, r138062);
double r138068 = r138066 * r138067;
double r138069 = r138065 / r138068;
double r138070 = r138056 * r138069;
double r138071 = pow(r138038, r138062);
double r138072 = r138071 * r138028;
double r138073 = r138063 * r138072;
double r138074 = r138059 * r138073;
double r138075 = r138074 / r138068;
double r138076 = r138056 * r138075;
double r138077 = fma(r138027, r138070, r138076);
double r138078 = r138027 / r138077;
double r138079 = 2.2970494286072416e-139;
bool r138080 = r138024 <= r138079;
double r138081 = r138031 / r138024;
double r138082 = r138031 * r138081;
double r138083 = r138035 * r138039;
double r138084 = r138082 * r138083;
double r138085 = r138084 * r138041;
double r138086 = r138085 * r138047;
double r138087 = r138027 / r138086;
double r138088 = 5.548140519913771e+121;
bool r138089 = r138024 <= r138088;
double r138090 = pow(r138053, r138027);
double r138091 = r138052 / r138090;
double r138092 = pow(r138091, r138043);
double r138093 = 6.0;
double r138094 = pow(r138057, r138093);
double r138095 = r138094 * r138064;
double r138096 = r138095 / r138068;
double r138097 = r138092 * r138096;
double r138098 = r138027 * r138097;
double r138099 = r138071 * r138063;
double r138100 = r138028 * r138099;
double r138101 = r138100 / r138068;
double r138102 = r138056 * r138101;
double r138103 = r138098 - r138102;
double r138104 = r138027 / r138103;
double r138105 = r138089 ? r138104 : r138049;
double r138106 = r138080 ? r138087 : r138105;
double r138107 = r138051 ? r138078 : r138106;
double r138108 = r138026 ? r138049 : r138107;
return r138108;
}



Bits error versus t



Bits error versus l



Bits error versus k
if l < -2.4842396960054388e+123 or 5.548140519913771e+121 < l Initial program 59.0
rmApplied add-cube-cbrt59.1
Applied unpow-prod-down59.1
Applied times-frac41.7
rmApplied *-un-lft-identity41.7
Applied unpow-prod-down41.7
Applied times-frac27.4
Simplified27.4
rmApplied pow1/347.0
Applied pow-pow27.2
rmApplied pow1/347.0
Applied pow-pow27.0
if -2.4842396960054388e+123 < l < -25217102.05555651Initial program 31.9
rmApplied add-cube-cbrt32.2
Applied unpow-prod-down32.2
Applied times-frac28.4
Taylor expanded around -inf 25.5
Simplified25.5
if -25217102.05555651 < l < 2.2970494286072416e-139Initial program 23.0
rmApplied add-cube-cbrt23.1
Applied unpow-prod-down23.1
Applied times-frac17.7
rmApplied *-un-lft-identity17.7
Applied unpow-prod-down17.7
Applied times-frac14.2
Simplified14.2
rmApplied pow1/339.1
Applied pow-pow14.1
rmApplied associate-*l*11.5
if 2.2970494286072416e-139 < l < 5.548140519913771e+121Initial program 26.5
rmApplied add-cube-cbrt26.7
Applied unpow-prod-down26.7
Applied times-frac24.2
rmApplied *-un-lft-identity24.2
Applied unpow-prod-down24.2
Applied times-frac23.7
Simplified23.7
rmApplied pow1/343.9
Applied pow-pow23.6
Taylor expanded around -inf 17.9
Final simplification17.5
herbie shell --seed 2020001 +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))))