\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 -1.1912096216701534 \cdot 10^{+67}:\\
\;\;\;\;\left(\left(\frac{\ell}{t} \cdot \left(\cos k \cdot \frac{\ell}{t}\right)\right) \cdot 2\right) \cdot \frac{1}{\left(\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right) \cdot \sin k\right) \cdot \left(\sin k \cdot t\right)}\\
\mathbf{elif}\;\ell \le -1.7515234209579402 \cdot 10^{-149}:\\
\;\;\;\;\frac{2}{\mathsf{fma}\left(2, \frac{\sin k \cdot \left(\left(t \cdot \left(t \cdot t\right)\right) \cdot \sin k\right)}{\left(\ell \cdot \ell\right) \cdot \cos k}, \frac{\left(\left(k \cdot \sin k\right) \cdot \left(k \cdot \sin k\right)\right) \cdot t}{\left(\ell \cdot \ell\right) \cdot \cos k}\right)}\\
\mathbf{elif}\;\ell \le 3.438337439326428 \cdot 10^{-85}:\\
\;\;\;\;\frac{2}{\frac{\frac{\frac{\left(\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right) \cdot \sin k\right) \cdot \left(\sin k \cdot t\right)}{\frac{\ell}{t}}}{\frac{\ell}{t}}}{\cos k}}\\
\mathbf{elif}\;\ell \le 9.600966579055477 \cdot 10^{+99}:\\
\;\;\;\;\frac{2}{\mathsf{fma}\left(2, \frac{\sin k \cdot \left(\left(t \cdot \left(t \cdot t\right)\right) \cdot \sin k\right)}{\left(\ell \cdot \ell\right) \cdot \cos k}, \frac{\left(\left(k \cdot \sin k\right) \cdot \left(k \cdot \sin k\right)\right) \cdot t}{\left(\ell \cdot \ell\right) \cdot \cos k}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\frac{\frac{\left(\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right) \cdot \sin k\right) \cdot \left(\sin k \cdot t\right)}{\frac{\ell}{t}}}{\frac{\ell}{t}}}{\cos k}}\\
\end{array}double f(double t, double l, double k) {
double r1188271 = 2.0;
double r1188272 = t;
double r1188273 = 3.0;
double r1188274 = pow(r1188272, r1188273);
double r1188275 = l;
double r1188276 = r1188275 * r1188275;
double r1188277 = r1188274 / r1188276;
double r1188278 = k;
double r1188279 = sin(r1188278);
double r1188280 = r1188277 * r1188279;
double r1188281 = tan(r1188278);
double r1188282 = r1188280 * r1188281;
double r1188283 = 1.0;
double r1188284 = r1188278 / r1188272;
double r1188285 = pow(r1188284, r1188271);
double r1188286 = r1188283 + r1188285;
double r1188287 = r1188286 + r1188283;
double r1188288 = r1188282 * r1188287;
double r1188289 = r1188271 / r1188288;
return r1188289;
}
double f(double t, double l, double k) {
double r1188290 = l;
double r1188291 = -1.1912096216701534e+67;
bool r1188292 = r1188290 <= r1188291;
double r1188293 = t;
double r1188294 = r1188290 / r1188293;
double r1188295 = k;
double r1188296 = cos(r1188295);
double r1188297 = r1188296 * r1188294;
double r1188298 = r1188294 * r1188297;
double r1188299 = 2.0;
double r1188300 = r1188298 * r1188299;
double r1188301 = 1.0;
double r1188302 = r1188295 / r1188293;
double r1188303 = fma(r1188302, r1188302, r1188299);
double r1188304 = sin(r1188295);
double r1188305 = r1188303 * r1188304;
double r1188306 = r1188304 * r1188293;
double r1188307 = r1188305 * r1188306;
double r1188308 = r1188301 / r1188307;
double r1188309 = r1188300 * r1188308;
double r1188310 = -1.7515234209579402e-149;
bool r1188311 = r1188290 <= r1188310;
double r1188312 = r1188293 * r1188293;
double r1188313 = r1188293 * r1188312;
double r1188314 = r1188313 * r1188304;
double r1188315 = r1188304 * r1188314;
double r1188316 = r1188290 * r1188290;
double r1188317 = r1188316 * r1188296;
double r1188318 = r1188315 / r1188317;
double r1188319 = r1188295 * r1188304;
double r1188320 = r1188319 * r1188319;
double r1188321 = r1188320 * r1188293;
double r1188322 = r1188321 / r1188317;
double r1188323 = fma(r1188299, r1188318, r1188322);
double r1188324 = r1188299 / r1188323;
double r1188325 = 3.438337439326428e-85;
bool r1188326 = r1188290 <= r1188325;
double r1188327 = r1188307 / r1188294;
double r1188328 = r1188327 / r1188294;
double r1188329 = r1188328 / r1188296;
double r1188330 = r1188299 / r1188329;
double r1188331 = 9.600966579055477e+99;
bool r1188332 = r1188290 <= r1188331;
double r1188333 = r1188332 ? r1188324 : r1188330;
double r1188334 = r1188326 ? r1188330 : r1188333;
double r1188335 = r1188311 ? r1188324 : r1188334;
double r1188336 = r1188292 ? r1188309 : r1188335;
return r1188336;
}



Bits error versus t



Bits error versus l



Bits error versus k
if l < -1.1912096216701534e+67Initial program 51.2
Simplified28.8
rmApplied tan-quot28.9
Applied associate-*l/24.8
Applied frac-times24.9
Applied associate-*l/25.7
rmApplied associate-*l*25.7
rmApplied div-inv25.7
Applied *-un-lft-identity25.7
Applied times-frac25.7
Simplified25.7
if -1.1912096216701534e+67 < l < -1.7515234209579402e-149 or 3.438337439326428e-85 < l < 9.600966579055477e+99Initial program 25.7
Simplified23.0
Taylor expanded around inf 15.9
Simplified12.4
if -1.7515234209579402e-149 < l < 3.438337439326428e-85 or 9.600966579055477e+99 < l Initial program 32.5
Simplified17.9
rmApplied tan-quot17.9
Applied associate-*l/16.8
Applied frac-times18.8
Applied associate-*l/17.1
rmApplied associate-*l*16.7
rmApplied add-sqr-sqrt16.8
Applied associate-*r*16.7
rmApplied associate-/r*16.7
Simplified14.3
Final simplification15.3
herbie shell --seed 2019156 +o rules:numerics
(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))))