\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\frac{\frac{\cos \left(2 \cdot x\right)}{{cos}^{\left(\frac{2}{2}\right)}}}{{sin}^{\left(2 \cdot \frac{2}{2}\right)} \cdot \left({cos}^{\left(\frac{2}{2}\right)} \cdot x\right)}}{x}double f(double x, double cos, double sin) {
double r62189 = 2.0;
double r62190 = x;
double r62191 = r62189 * r62190;
double r62192 = cos(r62191);
double r62193 = cos;
double r62194 = pow(r62193, r62189);
double r62195 = sin;
double r62196 = pow(r62195, r62189);
double r62197 = r62190 * r62196;
double r62198 = r62197 * r62190;
double r62199 = r62194 * r62198;
double r62200 = r62192 / r62199;
return r62200;
}
double f(double x, double cos, double sin) {
double r62201 = 2.0;
double r62202 = x;
double r62203 = r62201 * r62202;
double r62204 = cos(r62203);
double r62205 = cos;
double r62206 = 2.0;
double r62207 = r62201 / r62206;
double r62208 = pow(r62205, r62207);
double r62209 = r62204 / r62208;
double r62210 = sin;
double r62211 = r62206 * r62207;
double r62212 = pow(r62210, r62211);
double r62213 = r62208 * r62202;
double r62214 = r62212 * r62213;
double r62215 = r62209 / r62214;
double r62216 = r62215 / r62202;
return r62216;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 28.4
rmApplied sqr-pow28.4
Applied associate-*l*24.1
rmApplied associate-*r*20.4
rmApplied associate-*r*19.5
rmApplied sqr-pow19.5
Applied associate-*r*10.7
Final simplification19.1
herbie shell --seed 2019304
(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))))