\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{1}{\left(\left(cos \cdot sin\right) \cdot x\right) \cdot \left(\left(cos \cdot sin\right) \cdot x\right)} \cdot \cos \left(x \cdot 2\right)double f(double x, double cos, double sin) {
double r2184196 = 2.0;
double r2184197 = x;
double r2184198 = r2184196 * r2184197;
double r2184199 = cos(r2184198);
double r2184200 = cos;
double r2184201 = pow(r2184200, r2184196);
double r2184202 = sin;
double r2184203 = pow(r2184202, r2184196);
double r2184204 = r2184197 * r2184203;
double r2184205 = r2184204 * r2184197;
double r2184206 = r2184201 * r2184205;
double r2184207 = r2184199 / r2184206;
return r2184207;
}
double f(double x, double cos, double sin) {
double r2184208 = 1.0;
double r2184209 = cos;
double r2184210 = sin;
double r2184211 = r2184209 * r2184210;
double r2184212 = x;
double r2184213 = r2184211 * r2184212;
double r2184214 = r2184213 * r2184213;
double r2184215 = r2184208 / r2184214;
double r2184216 = 2.0;
double r2184217 = r2184212 * r2184216;
double r2184218 = cos(r2184217);
double r2184219 = r2184215 * r2184218;
return r2184219;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.6
Simplified2.7
rmApplied *-un-lft-identity2.7
Applied times-frac2.5
rmApplied associate-/r*2.5
Taylor expanded around inf 30.9
Simplified2.8
rmApplied div-inv2.8
Final simplification2.8
herbie shell --seed 2019164
(FPCore (x cos sin)
:name "cos(2*x)/(cos^2(x)*sin^2(x))"
(/ (cos (* 2 x)) (* (pow cos 2) (* (* x (pow sin 2)) x))))