\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 r72209 = 2.0;
double r72210 = x;
double r72211 = r72209 * r72210;
double r72212 = cos(r72211);
double r72213 = cos;
double r72214 = pow(r72213, r72209);
double r72215 = sin;
double r72216 = pow(r72215, r72209);
double r72217 = r72210 * r72216;
double r72218 = r72217 * r72210;
double r72219 = r72214 * r72218;
double r72220 = r72212 / r72219;
return r72220;
}
double f(double x, double cos, double sin) {
double r72221 = 2.0;
double r72222 = x;
double r72223 = r72221 * r72222;
double r72224 = cos(r72223);
double r72225 = cos;
double r72226 = 2.0;
double r72227 = r72221 / r72226;
double r72228 = pow(r72225, r72227);
double r72229 = sin;
double r72230 = pow(r72229, r72227);
double r72231 = r72222 * r72230;
double r72232 = r72228 * r72231;
double r72233 = r72230 * r72222;
double r72234 = r72232 * r72233;
double r72235 = r72228 * r72234;
double r72236 = r72224 / r72235;
return r72236;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.5
rmApplied sqr-pow28.5
Applied associate-*l*23.9
rmApplied sqr-pow23.9
Applied associate-*r*16.9
rmApplied associate-*l*13.9
rmApplied associate-*r*6.4
Final simplification6.4
herbie shell --seed 2019323
(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))))