\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 r55559 = 2.0;
double r55560 = x;
double r55561 = r55559 * r55560;
double r55562 = cos(r55561);
double r55563 = cos;
double r55564 = pow(r55563, r55559);
double r55565 = sin;
double r55566 = pow(r55565, r55559);
double r55567 = r55560 * r55566;
double r55568 = r55567 * r55560;
double r55569 = r55564 * r55568;
double r55570 = r55562 / r55569;
return r55570;
}
double f(double x, double cos, double sin) {
double r55571 = 2.0;
double r55572 = x;
double r55573 = r55571 * r55572;
double r55574 = cos(r55573);
double r55575 = cos;
double r55576 = 2.0;
double r55577 = r55571 / r55576;
double r55578 = pow(r55575, r55577);
double r55579 = sin;
double r55580 = pow(r55579, r55577);
double r55581 = r55572 * r55580;
double r55582 = r55578 * r55581;
double r55583 = r55578 * r55582;
double r55584 = r55580 * r55572;
double r55585 = r55583 * r55584;
double r55586 = r55574 / r55585;
return r55586;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.6
rmApplied sqr-pow28.6
Applied associate-*r*22.4
rmApplied associate-*l*20.5
rmApplied associate-*r*16.7
rmApplied sqr-pow16.7
Applied associate-*l*6.8
Final simplification6.8
herbie shell --seed 2019305
(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))))