\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)}{{cos}^{\left(\frac{2}{2}\right)} \cdot \left(\left({cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right) \cdot \left({sin}^{\left(\frac{2}{2}\right)} \cdot x\right)\right)}double f(double x, double cos, double sin) {
double r53182 = 2.0;
double r53183 = x;
double r53184 = r53182 * r53183;
double r53185 = cos(r53184);
double r53186 = cos;
double r53187 = pow(r53186, r53182);
double r53188 = sin;
double r53189 = pow(r53188, r53182);
double r53190 = r53183 * r53189;
double r53191 = r53190 * r53183;
double r53192 = r53187 * r53191;
double r53193 = r53185 / r53192;
return r53193;
}
double f(double x, double cos, double sin) {
double r53194 = 2.0;
double r53195 = x;
double r53196 = r53194 * r53195;
double r53197 = cos(r53196);
double r53198 = cos;
double r53199 = 2.0;
double r53200 = r53194 / r53199;
double r53201 = pow(r53198, r53200);
double r53202 = sin;
double r53203 = pow(r53202, r53200);
double r53204 = r53195 * r53203;
double r53205 = r53201 * r53204;
double r53206 = r53203 * r53195;
double r53207 = r53205 * r53206;
double r53208 = r53201 * r53207;
double r53209 = r53197 / r53208;
return r53209;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.4
rmApplied sqr-pow28.4
Applied associate-*l*23.7
rmApplied sqr-pow23.7
Applied associate-*r*16.2
rmApplied associate-*l*13.3
rmApplied associate-*r*5.9
Final simplification5.9
herbie shell --seed 2019208 +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))))