\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{1}{\left|{cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right|} \cdot \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 r84896 = 2.0;
double r84897 = x;
double r84898 = r84896 * r84897;
double r84899 = cos(r84898);
double r84900 = cos;
double r84901 = pow(r84900, r84896);
double r84902 = sin;
double r84903 = pow(r84902, r84896);
double r84904 = r84897 * r84903;
double r84905 = r84904 * r84897;
double r84906 = r84901 * r84905;
double r84907 = r84899 / r84906;
return r84907;
}
double f(double x, double cos, double sin) {
double r84908 = 1.0;
double r84909 = cos;
double r84910 = 2.0;
double r84911 = 2.0;
double r84912 = r84910 / r84911;
double r84913 = pow(r84909, r84912);
double r84914 = x;
double r84915 = sin;
double r84916 = pow(r84915, r84912);
double r84917 = r84914 * r84916;
double r84918 = r84913 * r84917;
double r84919 = fabs(r84918);
double r84920 = r84908 / r84919;
double r84921 = r84910 * r84914;
double r84922 = cos(r84921);
double r84923 = r84922 / r84919;
double r84924 = r84920 * r84923;
return r84924;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.0
rmApplied sqr-pow28.0
Applied associate-*l*23.4
rmApplied sqr-pow23.4
Applied associate-*r*16.1
rmApplied add-sqr-sqrt16.2
Simplified16.2
Simplified2.7
rmApplied *-un-lft-identity2.7
Applied times-frac2.5
Final simplification2.5
herbie shell --seed 2019318
(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))))