\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 r58060 = 2.0;
double r58061 = x;
double r58062 = r58060 * r58061;
double r58063 = cos(r58062);
double r58064 = cos;
double r58065 = pow(r58064, r58060);
double r58066 = sin;
double r58067 = pow(r58066, r58060);
double r58068 = r58061 * r58067;
double r58069 = r58068 * r58061;
double r58070 = r58065 * r58069;
double r58071 = r58063 / r58070;
return r58071;
}
double f(double x, double cos, double sin) {
double r58072 = 2.0;
double r58073 = x;
double r58074 = r58072 * r58073;
double r58075 = cos(r58074);
double r58076 = cos;
double r58077 = 2.0;
double r58078 = r58072 / r58077;
double r58079 = pow(r58076, r58078);
double r58080 = sin;
double r58081 = pow(r58080, r58078);
double r58082 = r58073 * r58081;
double r58083 = r58079 * r58082;
double r58084 = r58079 * r58083;
double r58085 = r58081 * r58073;
double r58086 = r58084 * r58085;
double r58087 = r58075 / r58086;
return r58087;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.6
rmApplied sqr-pow27.6
Applied associate-*r*21.5
rmApplied associate-*l*19.5
rmApplied associate-*r*16.0
rmApplied sqr-pow16.0
Applied associate-*l*6.5
Final simplification6.5
herbie shell --seed 2019209
(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))))