\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)}\left({\left(\frac{1}{{t}^{1} \cdot {k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left(\frac{\ell}{\sin k} \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \frac{\ell}{\frac{\sin k}{\cos k}}\right)\right)\right) \cdot 2double f(double t, double l, double k) {
double r7620067 = 2.0;
double r7620068 = t;
double r7620069 = 3.0;
double r7620070 = pow(r7620068, r7620069);
double r7620071 = l;
double r7620072 = r7620071 * r7620071;
double r7620073 = r7620070 / r7620072;
double r7620074 = k;
double r7620075 = sin(r7620074);
double r7620076 = r7620073 * r7620075;
double r7620077 = tan(r7620074);
double r7620078 = r7620076 * r7620077;
double r7620079 = 1.0;
double r7620080 = r7620074 / r7620068;
double r7620081 = pow(r7620080, r7620067);
double r7620082 = r7620079 + r7620081;
double r7620083 = r7620082 - r7620079;
double r7620084 = r7620078 * r7620083;
double r7620085 = r7620067 / r7620084;
return r7620085;
}
double f(double t, double l, double k) {
double r7620086 = 1.0;
double r7620087 = t;
double r7620088 = 1.0;
double r7620089 = pow(r7620087, r7620088);
double r7620090 = k;
double r7620091 = 2.0;
double r7620092 = 2.0;
double r7620093 = r7620091 / r7620092;
double r7620094 = pow(r7620090, r7620093);
double r7620095 = r7620089 * r7620094;
double r7620096 = r7620086 / r7620095;
double r7620097 = pow(r7620096, r7620088);
double r7620098 = l;
double r7620099 = sin(r7620090);
double r7620100 = r7620098 / r7620099;
double r7620101 = r7620086 / r7620094;
double r7620102 = pow(r7620101, r7620088);
double r7620103 = cos(r7620090);
double r7620104 = r7620099 / r7620103;
double r7620105 = r7620098 / r7620104;
double r7620106 = r7620102 * r7620105;
double r7620107 = r7620100 * r7620106;
double r7620108 = r7620097 * r7620107;
double r7620109 = r7620108 * r7620091;
return r7620109;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
Initial program 48.1
Simplified40.2
Taylor expanded around inf 21.8
rmApplied sqr-pow21.8
Applied associate-*r*19.7
rmApplied *-un-lft-identity19.7
Applied times-frac19.6
Applied unpow-prod-down19.6
Applied associate-*l*18.6
Simplified18.6
rmApplied *-un-lft-identity18.6
Applied times-frac18.6
Applied times-frac14.6
Applied associate-*l*9.4
Final simplification9.4
herbie shell --seed 2019168 +o rules:numerics
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10-)"
(/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (- (+ 1.0 (pow (/ k t) 2.0)) 1.0))))