\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)}\frac{\sqrt{\sqrt{2}}}{\sqrt[3]{t}} \cdot \left(\frac{\frac{\sqrt{\sqrt{2}}}{\frac{\sqrt[3]{t}}{\frac{\ell}{t}}}}{\tan k} \cdot \frac{\frac{\sqrt{2}}{\sqrt[3]{\frac{\sqrt[3]{t}}{\frac{\ell}{t}} \cdot \sin k} \cdot \left(\sqrt[3]{\frac{\sqrt[3]{t}}{\frac{\ell}{t}} \cdot \sin k} \cdot \sqrt[3]{\frac{\sqrt[3]{t}}{\frac{\ell}{t}} \cdot \sin k}\right)}}{\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right)}\right)double f(double t, double l, double k) {
double r6012160 = 2.0;
double r6012161 = t;
double r6012162 = 3.0;
double r6012163 = pow(r6012161, r6012162);
double r6012164 = l;
double r6012165 = r6012164 * r6012164;
double r6012166 = r6012163 / r6012165;
double r6012167 = k;
double r6012168 = sin(r6012167);
double r6012169 = r6012166 * r6012168;
double r6012170 = tan(r6012167);
double r6012171 = r6012169 * r6012170;
double r6012172 = 1.0;
double r6012173 = r6012167 / r6012161;
double r6012174 = pow(r6012173, r6012160);
double r6012175 = r6012172 + r6012174;
double r6012176 = r6012175 + r6012172;
double r6012177 = r6012171 * r6012176;
double r6012178 = r6012160 / r6012177;
return r6012178;
}
double f(double t, double l, double k) {
double r6012179 = 2.0;
double r6012180 = sqrt(r6012179);
double r6012181 = sqrt(r6012180);
double r6012182 = t;
double r6012183 = cbrt(r6012182);
double r6012184 = r6012181 / r6012183;
double r6012185 = l;
double r6012186 = r6012185 / r6012182;
double r6012187 = r6012183 / r6012186;
double r6012188 = r6012181 / r6012187;
double r6012189 = k;
double r6012190 = tan(r6012189);
double r6012191 = r6012188 / r6012190;
double r6012192 = sin(r6012189);
double r6012193 = r6012187 * r6012192;
double r6012194 = cbrt(r6012193);
double r6012195 = r6012194 * r6012194;
double r6012196 = r6012194 * r6012195;
double r6012197 = r6012180 / r6012196;
double r6012198 = r6012189 / r6012182;
double r6012199 = fma(r6012198, r6012198, r6012179);
double r6012200 = r6012197 / r6012199;
double r6012201 = r6012191 * r6012200;
double r6012202 = r6012184 * r6012201;
return r6012202;
}



Bits error versus t



Bits error versus l



Bits error versus k
Initial program 31.6
Simplified20.3
rmApplied add-cube-cbrt20.5
Applied times-frac19.8
Applied associate-*l*16.7
rmApplied add-sqr-sqrt16.8
Applied times-frac16.6
Applied times-frac13.3
rmApplied *-un-lft-identity13.3
Applied *-un-lft-identity13.3
Applied times-frac13.3
Applied add-sqr-sqrt13.3
Applied sqrt-prod13.3
Applied times-frac13.2
Applied times-frac12.4
Applied associate-*l*12.4
rmApplied add-cube-cbrt12.5
Final simplification12.5
herbie shell --seed 2019144 +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))))