double f(double x, double cos, double sin) {
double r8688951 = 2.0;
double r8688952 = x;
double r8688953 = r8688951 * r8688952;
double r8688954 = cos(r8688953);
double r8688955 = cos;
double r8688956 = pow(r8688955, r8688951);
double r8688957 = sin;
double r8688958 = pow(r8688957, r8688951);
double r8688959 = r8688952 * r8688958;
double r8688960 = r8688959 * r8688952;
double r8688961 = r8688956 * r8688960;
double r8688962 = r8688954 / r8688961;
return r8688962;
}
double f(double x, double cos, double sin) {
double r8688963 = x;
double r8688964 = cos(r8688963);
double r8688965 = r8688964 * r8688964;
double r8688966 = sin;
double r8688967 = r8688966 * r8688963;
double r8688968 = cos;
double r8688969 = r8688967 * r8688968;
double r8688970 = r8688969 * r8688969;
double r8688971 = r8688965 / r8688970;
double r8688972 = sin(r8688963);
double r8688973 = r8688972 * r8688972;
double r8688974 = r8688973 / r8688970;
double r8688975 = r8688971 - r8688974;
return r8688975;
}
\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\frac{\cos x \cdot \cos x}{\left(\left(sin \cdot x\right) \cdot cos\right) \cdot \left(\left(sin \cdot x\right) \cdot cos\right)} - \frac{\sin x \cdot \sin x}{\left(\left(sin \cdot x\right) \cdot cos\right) \cdot \left(\left(sin \cdot x\right) \cdot cos\right)}


Bits error versus x



Bits error versus cos



Bits error versus sin
Initial program 27.0
Simplified2.7
Taylor expanded around -inf 30.7
Simplified2.8
rmApplied cos-22.8
Applied div-sub2.8
Final simplification2.8
herbie shell --seed 2019101
(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))))