\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{1}{\frac{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}{\frac{\cos \left(2 \cdot x\right)}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}}}double f(double x, double cos, double sin) {
double r47174 = 2.0;
double r47175 = x;
double r47176 = r47174 * r47175;
double r47177 = cos(r47176);
double r47178 = cos;
double r47179 = pow(r47178, r47174);
double r47180 = sin;
double r47181 = pow(r47180, r47174);
double r47182 = r47175 * r47181;
double r47183 = r47182 * r47175;
double r47184 = r47179 * r47183;
double r47185 = r47177 / r47184;
return r47185;
}
double f(double x, double cos, double sin) {
double r47186 = 1.0;
double r47187 = cos;
double r47188 = 2.0;
double r47189 = 2.0;
double r47190 = r47188 / r47189;
double r47191 = pow(r47187, r47190);
double r47192 = x;
double r47193 = sin;
double r47194 = pow(r47193, r47190);
double r47195 = r47192 * r47194;
double r47196 = r47191 * r47195;
double r47197 = fabs(r47196);
double r47198 = r47188 * r47192;
double r47199 = cos(r47198);
double r47200 = r47199 / r47197;
double r47201 = r47197 / r47200;
double r47202 = r47186 / r47201;
return r47202;
}



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.8
rmApplied add-sqr-sqrt21.8
Simplified21.8
Simplified2.7
rmApplied associate-/r*2.5
rmApplied clear-num2.8
Final simplification2.8
herbie shell --seed 2020083 +o rules:numerics
(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))))