\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\frac{\cos x \cdot \cos x}{\left(cos \cdot x\right) \cdot sin} - \left(\frac{\frac{1}{2}}{\left(cos \cdot x\right) \cdot sin} - \frac{\cos \left(x \cdot 2\right) \cdot \frac{1}{2}}{\left(cos \cdot x\right) \cdot sin}\right)}{\left(cos \cdot x\right) \cdot sin}double f(double x, double cos, double sin) {
double r13514211 = 2.0;
double r13514212 = x;
double r13514213 = r13514211 * r13514212;
double r13514214 = cos(r13514213);
double r13514215 = cos;
double r13514216 = pow(r13514215, r13514211);
double r13514217 = sin;
double r13514218 = pow(r13514217, r13514211);
double r13514219 = r13514212 * r13514218;
double r13514220 = r13514219 * r13514212;
double r13514221 = r13514216 * r13514220;
double r13514222 = r13514214 / r13514221;
return r13514222;
}
double f(double x, double cos, double sin) {
double r13514223 = x;
double r13514224 = cos(r13514223);
double r13514225 = r13514224 * r13514224;
double r13514226 = cos;
double r13514227 = r13514226 * r13514223;
double r13514228 = sin;
double r13514229 = r13514227 * r13514228;
double r13514230 = r13514225 / r13514229;
double r13514231 = 0.5;
double r13514232 = r13514231 / r13514229;
double r13514233 = 2.0;
double r13514234 = r13514223 * r13514233;
double r13514235 = cos(r13514234);
double r13514236 = r13514235 * r13514231;
double r13514237 = r13514236 / r13514229;
double r13514238 = r13514232 - r13514237;
double r13514239 = r13514230 - r13514238;
double r13514240 = r13514239 / r13514229;
return r13514240;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.2
Simplified2.8
rmApplied associate-/r*2.6
rmApplied cos-22.6
Applied div-sub2.6
rmApplied sqr-sin2.6
Applied div-sub2.6
Final simplification2.6
herbie shell --seed 2019128 +o rules:numerics
(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))))