\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({cos}^{\left(\frac{2}{2}\right)} \cdot \left({cos}^{\left(\frac{2}{2}\right)} \cdot \left(x \cdot {sin}^{\left(\frac{2}{2}\right)}\right)\right)\right) \cdot \left({sin}^{\left(\frac{2}{2}\right)} \cdot x\right)}double f(double x, double cos, double sin) {
double r57696 = 2.0;
double r57697 = x;
double r57698 = r57696 * r57697;
double r57699 = cos(r57698);
double r57700 = cos;
double r57701 = pow(r57700, r57696);
double r57702 = sin;
double r57703 = pow(r57702, r57696);
double r57704 = r57697 * r57703;
double r57705 = r57704 * r57697;
double r57706 = r57701 * r57705;
double r57707 = r57699 / r57706;
return r57707;
}
double f(double x, double cos, double sin) {
double r57708 = 2.0;
double r57709 = x;
double r57710 = r57708 * r57709;
double r57711 = cos(r57710);
double r57712 = cos;
double r57713 = 2.0;
double r57714 = r57708 / r57713;
double r57715 = pow(r57712, r57714);
double r57716 = sin;
double r57717 = pow(r57716, r57714);
double r57718 = r57709 * r57717;
double r57719 = r57715 * r57718;
double r57720 = r57715 * r57719;
double r57721 = r57717 * r57709;
double r57722 = r57720 * r57721;
double r57723 = r57711 / r57722;
return r57723;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.5
rmApplied sqr-pow28.5
Applied associate-*r*22.1
rmApplied associate-*l*20.0
rmApplied associate-*r*16.3
rmApplied sqr-pow16.3
Applied associate-*l*6.6
Final simplification6.6
herbie shell --seed 2019198 +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))))