Average Error: 27.0 → 2.7
Time: 27.2s
Precision: 64
\[\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\]
\[\left(\frac{\cos x \cdot \cos x}{sin \cdot \left(x \cdot cos\right)} - \frac{\sin x \cdot \sin x}{sin \cdot \left(x \cdot cos\right)}\right) \cdot \frac{1}{sin \cdot \left(x \cdot cos\right)}\]
\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}
\left(\frac{\cos x \cdot \cos x}{sin \cdot \left(x \cdot cos\right)} - \frac{\sin x \cdot \sin x}{sin \cdot \left(x \cdot cos\right)}\right) \cdot \frac{1}{sin \cdot \left(x \cdot cos\right)}
double f(double x, double cos, double sin) {
        double r1953772 = 2.0;
        double r1953773 = x;
        double r1953774 = r1953772 * r1953773;
        double r1953775 = cos(r1953774);
        double r1953776 = cos;
        double r1953777 = pow(r1953776, r1953772);
        double r1953778 = sin;
        double r1953779 = pow(r1953778, r1953772);
        double r1953780 = r1953773 * r1953779;
        double r1953781 = r1953780 * r1953773;
        double r1953782 = r1953777 * r1953781;
        double r1953783 = r1953775 / r1953782;
        return r1953783;
}

double f(double x, double cos, double sin) {
        double r1953784 = x;
        double r1953785 = cos(r1953784);
        double r1953786 = r1953785 * r1953785;
        double r1953787 = sin;
        double r1953788 = cos;
        double r1953789 = r1953784 * r1953788;
        double r1953790 = r1953787 * r1953789;
        double r1953791 = r1953786 / r1953790;
        double r1953792 = sin(r1953784);
        double r1953793 = r1953792 * r1953792;
        double r1953794 = r1953793 / r1953790;
        double r1953795 = r1953791 - r1953794;
        double r1953796 = 1.0;
        double r1953797 = r1953796 / r1953790;
        double r1953798 = r1953795 * r1953797;
        return r1953798;
}

Error

Bits error versus x

Bits error versus cos

Bits error versus sin

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 27.0

    \[\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\]
  2. Simplified2.9

    \[\leadsto \color{blue}{\frac{\cos \left(2 \cdot x\right)}{\left(sin \cdot \left(x \cdot cos\right)\right) \cdot \left(sin \cdot \left(x \cdot cos\right)\right)}}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity2.9

    \[\leadsto \frac{\color{blue}{1 \cdot \cos \left(2 \cdot x\right)}}{\left(sin \cdot \left(x \cdot cos\right)\right) \cdot \left(sin \cdot \left(x \cdot cos\right)\right)}\]
  5. Applied times-frac2.6

    \[\leadsto \color{blue}{\frac{1}{sin \cdot \left(x \cdot cos\right)} \cdot \frac{\cos \left(2 \cdot x\right)}{sin \cdot \left(x \cdot cos\right)}}\]
  6. Using strategy rm
  7. Applied cos-22.7

    \[\leadsto \frac{1}{sin \cdot \left(x \cdot cos\right)} \cdot \frac{\color{blue}{\cos x \cdot \cos x - \sin x \cdot \sin x}}{sin \cdot \left(x \cdot cos\right)}\]
  8. Applied div-sub2.7

    \[\leadsto \frac{1}{sin \cdot \left(x \cdot cos\right)} \cdot \color{blue}{\left(\frac{\cos x \cdot \cos x}{sin \cdot \left(x \cdot cos\right)} - \frac{\sin x \cdot \sin x}{sin \cdot \left(x \cdot cos\right)}\right)}\]
  9. Final simplification2.7

    \[\leadsto \left(\frac{\cos x \cdot \cos x}{sin \cdot \left(x \cdot cos\right)} - \frac{\sin x \cdot \sin x}{sin \cdot \left(x \cdot cos\right)}\right) \cdot \frac{1}{sin \cdot \left(x \cdot cos\right)}\]

Reproduce

herbie shell --seed 2019135 +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))))