\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 r56798 = 2.0;
double r56799 = x;
double r56800 = r56798 * r56799;
double r56801 = cos(r56800);
double r56802 = cos;
double r56803 = pow(r56802, r56798);
double r56804 = sin;
double r56805 = pow(r56804, r56798);
double r56806 = r56799 * r56805;
double r56807 = r56806 * r56799;
double r56808 = r56803 * r56807;
double r56809 = r56801 / r56808;
return r56809;
}
double f(double x, double cos, double sin) {
double r56810 = 2.0;
double r56811 = x;
double r56812 = r56810 * r56811;
double r56813 = cos(r56812);
double r56814 = cos;
double r56815 = 2.0;
double r56816 = r56810 / r56815;
double r56817 = pow(r56814, r56816);
double r56818 = sin;
double r56819 = pow(r56818, r56816);
double r56820 = r56811 * r56819;
double r56821 = r56817 * r56820;
double r56822 = r56817 * r56821;
double r56823 = r56819 * r56811;
double r56824 = r56822 * r56823;
double r56825 = r56813 / r56824;
return r56825;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.1
rmApplied sqr-pow28.1
Applied associate-*r*21.9
rmApplied associate-*l*19.9
rmApplied associate-*r*15.9
rmApplied sqr-pow15.9
Applied associate-*l*6.6
Final simplification6.6
herbie shell --seed 2019325 +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))))