\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\frac{1}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}}{\frac{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|}{\cos \left(2 \cdot x\right)}}double f(double x, double cos, double sin) {
double r68972 = 2.0;
double r68973 = x;
double r68974 = r68972 * r68973;
double r68975 = cos(r68974);
double r68976 = cos;
double r68977 = pow(r68976, r68972);
double r68978 = sin;
double r68979 = pow(r68978, r68972);
double r68980 = r68973 * r68979;
double r68981 = r68980 * r68973;
double r68982 = r68977 * r68981;
double r68983 = r68975 / r68982;
return r68983;
}
double f(double x, double cos, double sin) {
double r68984 = 1.0;
double r68985 = cos;
double r68986 = 2.0;
double r68987 = 2.0;
double r68988 = r68986 / r68987;
double r68989 = pow(r68985, r68988);
double r68990 = x;
double r68991 = sin;
double r68992 = pow(r68991, r68988);
double r68993 = r68990 * r68992;
double r68994 = r68989 * r68993;
double r68995 = fabs(r68994);
double r68996 = r68984 / r68995;
double r68997 = r68986 * r68990;
double r68998 = cos(r68997);
double r68999 = r68995 / r68998;
double r69000 = r68996 / r68999;
return r69000;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.3
rmApplied sqr-pow28.3
Applied associate-*r*22.1
rmApplied add-sqr-sqrt22.2
Simplified22.1
Simplified2.9
rmApplied clear-num3.0
rmApplied *-un-lft-identity3.0
Applied times-frac3.0
Applied associate-/r*2.7
Simplified2.7
Final simplification2.7
herbie shell --seed 2019353
(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))))