\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}{cos \cdot \left(sin \cdot x\right)} - \frac{\sin x \cdot \sin x}{cos \cdot \left(sin \cdot x\right)}}{cos \cdot \left(sin \cdot x\right)}double f(double x, double cos, double sin) {
double r1797688 = 2.0;
double r1797689 = x;
double r1797690 = r1797688 * r1797689;
double r1797691 = cos(r1797690);
double r1797692 = cos;
double r1797693 = pow(r1797692, r1797688);
double r1797694 = sin;
double r1797695 = pow(r1797694, r1797688);
double r1797696 = r1797689 * r1797695;
double r1797697 = r1797696 * r1797689;
double r1797698 = r1797693 * r1797697;
double r1797699 = r1797691 / r1797698;
return r1797699;
}
double f(double x, double cos, double sin) {
double r1797700 = x;
double r1797701 = cos(r1797700);
double r1797702 = r1797701 * r1797701;
double r1797703 = cos;
double r1797704 = sin;
double r1797705 = r1797704 * r1797700;
double r1797706 = r1797703 * r1797705;
double r1797707 = r1797702 / r1797706;
double r1797708 = sin(r1797700);
double r1797709 = r1797708 * r1797708;
double r1797710 = r1797709 / r1797706;
double r1797711 = r1797707 - r1797710;
double r1797712 = r1797711 / r1797706;
return r1797712;
}



Bits error versus x



Bits error versus cos



Bits error versus sin
Results
Initial program 27.7
Simplified2.9
Taylor expanded around 0 31.5
Simplified2.9
rmApplied associate-/r*2.6
rmApplied cos-22.7
Applied div-sub2.7
Final simplification2.7
herbie shell --seed 2019134
(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))))