\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 r53991 = 2.0;
double r53992 = x;
double r53993 = r53991 * r53992;
double r53994 = cos(r53993);
double r53995 = cos;
double r53996 = pow(r53995, r53991);
double r53997 = sin;
double r53998 = pow(r53997, r53991);
double r53999 = r53992 * r53998;
double r54000 = r53999 * r53992;
double r54001 = r53996 * r54000;
double r54002 = r53994 / r54001;
return r54002;
}
double f(double x, double cos, double sin) {
double r54003 = 2.0;
double r54004 = x;
double r54005 = r54003 * r54004;
double r54006 = cos(r54005);
double r54007 = cos;
double r54008 = 2.0;
double r54009 = r54003 / r54008;
double r54010 = pow(r54007, r54009);
double r54011 = sin;
double r54012 = pow(r54011, r54009);
double r54013 = r54004 * r54012;
double r54014 = r54010 * r54013;
double r54015 = r54010 * r54014;
double r54016 = r54012 * r54004;
double r54017 = r54015 * r54016;
double r54018 = r54006 / r54017;
return r54018;
}



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 +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))))