\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(\left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right) \cdot {cos}^{\left(\frac{2}{2}\right)}\right) \cdot \left(\left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right) \cdot {cos}^{\left(\frac{2}{2}\right)}\right)}double f(double x, double cos, double sin) {
double r6406147 = 2.0;
double r6406148 = x;
double r6406149 = r6406147 * r6406148;
double r6406150 = cos(r6406149);
double r6406151 = cos;
double r6406152 = pow(r6406151, r6406147);
double r6406153 = sin;
double r6406154 = pow(r6406153, r6406147);
double r6406155 = r6406148 * r6406154;
double r6406156 = r6406155 * r6406148;
double r6406157 = r6406152 * r6406156;
double r6406158 = r6406150 / r6406157;
return r6406158;
}
double f(double x, double cos, double sin) {
double r6406159 = 2.0;
double r6406160 = x;
double r6406161 = r6406159 * r6406160;
double r6406162 = cos(r6406161);
double r6406163 = sin;
double r6406164 = 2.0;
double r6406165 = r6406159 / r6406164;
double r6406166 = pow(r6406163, r6406165);
double r6406167 = r6406160 * r6406166;
double r6406168 = cos;
double r6406169 = pow(r6406168, r6406165);
double r6406170 = r6406167 * r6406169;
double r6406171 = r6406170 * r6406170;
double r6406172 = r6406162 / r6406171;
return r6406172;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.7
rmApplied sqr-pow28.7
Applied associate-*r*22.3
rmApplied sqr-pow22.3
Applied associate-*l*16.9
Simplified14.1
rmApplied associate-*l*6.5
rmApplied associate-*r*3.0
Final simplification3.0
herbie shell --seed 2019173 +o rules:numerics
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
(/ (cos (* 2.0 x)) (* (pow cos 2.0) (* (* x (pow sin 2.0)) x))))