\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 -2.0530128908841045 \cdot 10^{+39}:\\
\;\;\;\;\frac{\sqrt{2}}{\frac{t}{\ell} \cdot \left(\sqrt{2 + \frac{k}{t} \cdot \frac{k}{t}} \cdot \left(\frac{t}{\ell} \cdot \sin k\right)\right)} \cdot \frac{\frac{\sqrt{2}}{\tan k}}{\sqrt{2 + \frac{k}{t} \cdot \frac{k}{t}} \cdot t}\\
\mathbf{elif}\;t \le -2.883261033031283 \cdot 10^{-29}:\\
\;\;\;\;\frac{\frac{\frac{2}{\tan k}}{t \cdot \left(\left(\frac{t}{\ell} \cdot t\right) \cdot \sin k\right)}}{\frac{2 + \frac{k}{t} \cdot \frac{k}{t}}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\sqrt{2}}{\sqrt{\sqrt[3]{2 + \frac{k}{t} \cdot \frac{k}{t}} \cdot \sqrt[3]{2 + \frac{k}{t} \cdot \frac{k}{t}}}} \cdot \frac{\frac{\frac{1}{\tan k}}{t}}{\sqrt{\sqrt[3]{2 + \frac{k}{t} \cdot \frac{k}{t}}}}\right) \cdot \frac{\sqrt{2}}{\frac{t}{\ell} \cdot \left(\sqrt{2 + \frac{k}{t} \cdot \frac{k}{t}} \cdot \left(\frac{t}{\ell} \cdot \sin k\right)\right)}\\
\end{array}double f(double t, double l, double k) {
double r1637047 = 2.0;
double r1637048 = t;
double r1637049 = 3.0;
double r1637050 = pow(r1637048, r1637049);
double r1637051 = l;
double r1637052 = r1637051 * r1637051;
double r1637053 = r1637050 / r1637052;
double r1637054 = k;
double r1637055 = sin(r1637054);
double r1637056 = r1637053 * r1637055;
double r1637057 = tan(r1637054);
double r1637058 = r1637056 * r1637057;
double r1637059 = 1.0;
double r1637060 = r1637054 / r1637048;
double r1637061 = pow(r1637060, r1637047);
double r1637062 = r1637059 + r1637061;
double r1637063 = r1637062 + r1637059;
double r1637064 = r1637058 * r1637063;
double r1637065 = r1637047 / r1637064;
return r1637065;
}
double f(double t, double l, double k) {
double r1637066 = t;
double r1637067 = -2.0530128908841045e+39;
bool r1637068 = r1637066 <= r1637067;
double r1637069 = 2.0;
double r1637070 = sqrt(r1637069);
double r1637071 = l;
double r1637072 = r1637066 / r1637071;
double r1637073 = k;
double r1637074 = r1637073 / r1637066;
double r1637075 = r1637074 * r1637074;
double r1637076 = r1637069 + r1637075;
double r1637077 = sqrt(r1637076);
double r1637078 = sin(r1637073);
double r1637079 = r1637072 * r1637078;
double r1637080 = r1637077 * r1637079;
double r1637081 = r1637072 * r1637080;
double r1637082 = r1637070 / r1637081;
double r1637083 = tan(r1637073);
double r1637084 = r1637070 / r1637083;
double r1637085 = r1637077 * r1637066;
double r1637086 = r1637084 / r1637085;
double r1637087 = r1637082 * r1637086;
double r1637088 = -2.883261033031283e-29;
bool r1637089 = r1637066 <= r1637088;
double r1637090 = r1637069 / r1637083;
double r1637091 = r1637072 * r1637066;
double r1637092 = r1637091 * r1637078;
double r1637093 = r1637066 * r1637092;
double r1637094 = r1637090 / r1637093;
double r1637095 = r1637076 / r1637071;
double r1637096 = r1637094 / r1637095;
double r1637097 = cbrt(r1637076);
double r1637098 = r1637097 * r1637097;
double r1637099 = sqrt(r1637098);
double r1637100 = r1637070 / r1637099;
double r1637101 = 1.0;
double r1637102 = r1637101 / r1637083;
double r1637103 = r1637102 / r1637066;
double r1637104 = sqrt(r1637097);
double r1637105 = r1637103 / r1637104;
double r1637106 = r1637100 * r1637105;
double r1637107 = r1637106 * r1637082;
double r1637108 = r1637089 ? r1637096 : r1637107;
double r1637109 = r1637068 ? r1637087 : r1637108;
return r1637109;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -2.0530128908841045e+39Initial program 22.6
Simplified10.2
rmApplied associate-*r*6.8
rmApplied add-sqr-sqrt6.9
Applied *-un-lft-identity6.9
Applied add-sqr-sqrt6.8
Applied times-frac6.9
Applied times-frac6.1
Applied times-frac6.1
Simplified2.9
rmApplied associate-*r*2.6
rmApplied associate-/l/2.6
if -2.0530128908841045e+39 < t < -2.883261033031283e-29Initial program 20.6
Simplified20.1
rmApplied associate-*r*19.9
rmApplied associate-*r/19.9
Applied associate-*r/14.5
Applied associate-*l/14.0
Applied associate-/r/13.8
Applied associate-/l*10.7
if -2.883261033031283e-29 < t Initial program 36.8
Simplified25.6
rmApplied associate-*r*24.4
rmApplied add-sqr-sqrt24.4
Applied *-un-lft-identity24.4
Applied add-sqr-sqrt24.4
Applied times-frac24.4
Applied times-frac24.3
Applied times-frac21.5
Simplified19.0
rmApplied associate-*r*18.1
rmApplied add-cube-cbrt18.1
Applied sqrt-prod18.1
Applied *-un-lft-identity18.1
Applied div-inv18.1
Applied times-frac18.1
Applied times-frac18.2
Final simplification13.5
herbie shell --seed 2019154
(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))))