\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 -7.34197474785895879644805628021741244835 \cdot 10^{153}:\\
\;\;\;\;\frac{\frac{2}{\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{3}}{\ell} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \tan k}}{{\left(\frac{k}{t}\right)}^{2}}\\
\mathbf{elif}\;\ell \le 4.162486401097287709225438879584039218636 \cdot 10^{148}:\\
\;\;\;\;\left(\left({\left(\frac{\frac{1}{{t}^{1}}}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}\right) \cdot 2\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2}{\frac{\frac{{t}^{3}}{\ell}}{\ell} \cdot {\left(\sin k\right)}^{2}}}{{\left(\sqrt[3]{\frac{k}{t}} \cdot \sqrt[3]{\frac{k}{t}}\right)}^{2}} \cdot \frac{\cos k}{{\left(\sqrt[3]{\frac{k}{t}}\right)}^{2}}\\
\end{array}double f(double t, double l, double k) {
double r101041 = 2.0;
double r101042 = t;
double r101043 = 3.0;
double r101044 = pow(r101042, r101043);
double r101045 = l;
double r101046 = r101045 * r101045;
double r101047 = r101044 / r101046;
double r101048 = k;
double r101049 = sin(r101048);
double r101050 = r101047 * r101049;
double r101051 = tan(r101048);
double r101052 = r101050 * r101051;
double r101053 = 1.0;
double r101054 = r101048 / r101042;
double r101055 = pow(r101054, r101041);
double r101056 = r101053 + r101055;
double r101057 = r101056 - r101053;
double r101058 = r101052 * r101057;
double r101059 = r101041 / r101058;
return r101059;
}
double f(double t, double l, double k) {
double r101060 = l;
double r101061 = -7.341974747858959e+153;
bool r101062 = r101060 <= r101061;
double r101063 = 2.0;
double r101064 = t;
double r101065 = cbrt(r101064);
double r101066 = r101065 * r101065;
double r101067 = 3.0;
double r101068 = pow(r101066, r101067);
double r101069 = r101068 / r101060;
double r101070 = pow(r101065, r101067);
double r101071 = r101070 / r101060;
double r101072 = k;
double r101073 = sin(r101072);
double r101074 = r101071 * r101073;
double r101075 = r101069 * r101074;
double r101076 = tan(r101072);
double r101077 = r101075 * r101076;
double r101078 = r101063 / r101077;
double r101079 = r101072 / r101064;
double r101080 = pow(r101079, r101063);
double r101081 = r101078 / r101080;
double r101082 = 4.1624864010972877e+148;
bool r101083 = r101060 <= r101082;
double r101084 = 1.0;
double r101085 = 1.0;
double r101086 = pow(r101064, r101085);
double r101087 = r101084 / r101086;
double r101088 = 2.0;
double r101089 = r101063 / r101088;
double r101090 = pow(r101072, r101089);
double r101091 = r101087 / r101090;
double r101092 = pow(r101091, r101085);
double r101093 = cos(r101072);
double r101094 = pow(r101060, r101088);
double r101095 = r101093 * r101094;
double r101096 = pow(r101073, r101088);
double r101097 = r101095 / r101096;
double r101098 = r101092 * r101097;
double r101099 = r101084 / r101090;
double r101100 = pow(r101099, r101085);
double r101101 = r101098 * r101100;
double r101102 = r101101 * r101063;
double r101103 = pow(r101064, r101067);
double r101104 = r101103 / r101060;
double r101105 = r101104 / r101060;
double r101106 = r101105 * r101096;
double r101107 = r101063 / r101106;
double r101108 = cbrt(r101079);
double r101109 = r101108 * r101108;
double r101110 = pow(r101109, r101063);
double r101111 = r101107 / r101110;
double r101112 = pow(r101108, r101063);
double r101113 = r101093 / r101112;
double r101114 = r101111 * r101113;
double r101115 = r101083 ? r101102 : r101114;
double r101116 = r101062 ? r101081 : r101115;
return r101116;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < -7.341974747858959e+153Initial program 64.0
Simplified64.0
rmApplied add-cube-cbrt64.0
Applied unpow-prod-down64.0
Applied times-frac50.5
Applied associate-*l*50.5
if -7.341974747858959e+153 < l < 4.1624864010972877e+148Initial program 45.1
Simplified36.2
Taylor expanded around inf 14.0
rmApplied sqr-pow14.0
Applied associate-*l*11.6
rmApplied add-sqr-sqrt11.6
Applied times-frac11.5
Applied unpow-prod-down11.5
Applied associate-*l*9.7
Simplified9.7
rmApplied div-inv9.7
Simplified9.7
if 4.1624864010972877e+148 < l Initial program 63.6
Simplified63.3
rmApplied add-cube-cbrt63.3
Applied unpow-prod-down63.3
Applied tan-quot63.3
Applied associate-*r/63.3
Applied associate-/r/63.3
Applied times-frac63.3
Simplified51.1
Final simplification16.1
herbie shell --seed 2019325
(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))))