\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\cos \left(2 \cdot x\right)}{\left({cos}^{\left(\frac{2}{2}\right)} \cdot \left({cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right)\right) \cdot \left({sin}^{\left(\frac{2}{2}\right)} \cdot x\right)}double f(double x, double cos, double sin) {
double r63325 = 2.0;
double r63326 = x;
double r63327 = r63325 * r63326;
double r63328 = cos(r63327);
double r63329 = cos;
double r63330 = pow(r63329, r63325);
double r63331 = sin;
double r63332 = pow(r63331, r63325);
double r63333 = r63326 * r63332;
double r63334 = r63333 * r63326;
double r63335 = r63330 * r63334;
double r63336 = r63328 / r63335;
return r63336;
}
double f(double x, double cos, double sin) {
double r63337 = 2.0;
double r63338 = x;
double r63339 = r63337 * r63338;
double r63340 = cos(r63339);
double r63341 = cos;
double r63342 = 2.0;
double r63343 = r63337 / r63342;
double r63344 = pow(r63341, r63343);
double r63345 = sin;
double r63346 = pow(r63345, r63343);
double r63347 = r63338 * r63346;
double r63348 = r63344 * r63347;
double r63349 = r63344 * r63348;
double r63350 = r63346 * r63338;
double r63351 = r63349 * r63350;
double r63352 = r63340 / r63351;
return r63352;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.1
rmApplied sqr-pow28.1
Applied associate-*r*21.9
rmApplied associate-*l*19.9
rmApplied associate-*r*15.9
rmApplied sqr-pow15.9
Applied associate-*l*6.6
Final simplification6.6
herbie shell --seed 2019325
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
:precision binary64
(/ (cos (* 2 x)) (* (pow cos 2) (* (* x (pow sin 2)) x))))