\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 r59600 = 2.0;
double r59601 = x;
double r59602 = r59600 * r59601;
double r59603 = cos(r59602);
double r59604 = cos;
double r59605 = pow(r59604, r59600);
double r59606 = sin;
double r59607 = pow(r59606, r59600);
double r59608 = r59601 * r59607;
double r59609 = r59608 * r59601;
double r59610 = r59605 * r59609;
double r59611 = r59603 / r59610;
return r59611;
}
double f(double x, double cos, double sin) {
double r59612 = 2.0;
double r59613 = x;
double r59614 = r59612 * r59613;
double r59615 = cos(r59614);
double r59616 = cos;
double r59617 = 2.0;
double r59618 = r59612 / r59617;
double r59619 = pow(r59616, r59618);
double r59620 = sin;
double r59621 = pow(r59620, r59618);
double r59622 = r59613 * r59621;
double r59623 = r59619 * r59622;
double r59624 = r59619 * r59623;
double r59625 = r59621 * r59613;
double r59626 = r59624 * r59625;
double r59627 = r59615 / r59626;
return r59627;
}



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.6
rmApplied associate-*l*19.8
rmApplied associate-*r*16.1
rmApplied sqr-pow16.1
Applied associate-*l*6.8
Final simplification6.8
herbie shell --seed 2019235
(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))))