Average Error: 27.8 → 2.8
Time: 3.7m
Precision: 64
\[\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\]
\[\frac{1}{\frac{sin \cdot \left(x \cdot cos\right)}{\frac{\frac{\cos \left(2 \cdot x\right)}{x}}{cos} \cdot \frac{1}{sin}}}\]
\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}
\frac{1}{\frac{sin \cdot \left(x \cdot cos\right)}{\frac{\frac{\cos \left(2 \cdot x\right)}{x}}{cos} \cdot \frac{1}{sin}}}
double f(double x, double cos, double sin) {
        double r30287781 = 2.0;
        double r30287782 = x;
        double r30287783 = r30287781 * r30287782;
        double r30287784 = cos(r30287783);
        double r30287785 = cos;
        double r30287786 = pow(r30287785, r30287781);
        double r30287787 = sin;
        double r30287788 = pow(r30287787, r30287781);
        double r30287789 = r30287782 * r30287788;
        double r30287790 = r30287789 * r30287782;
        double r30287791 = r30287786 * r30287790;
        double r30287792 = r30287784 / r30287791;
        return r30287792;
}

double f(double x, double cos, double sin) {
        double r30287793 = 1.0;
        double r30287794 = sin;
        double r30287795 = x;
        double r30287796 = cos;
        double r30287797 = r30287795 * r30287796;
        double r30287798 = r30287794 * r30287797;
        double r30287799 = 2.0;
        double r30287800 = r30287799 * r30287795;
        double r30287801 = cos(r30287800);
        double r30287802 = r30287801 / r30287795;
        double r30287803 = r30287802 / r30287796;
        double r30287804 = r30287793 / r30287794;
        double r30287805 = r30287803 * r30287804;
        double r30287806 = r30287798 / r30287805;
        double r30287807 = r30287793 / r30287806;
        return r30287807;
}

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.8

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

    \[\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 associate-/r*2.5

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

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

    \[\leadsto \frac{\color{blue}{\frac{1}{sin} \cdot \frac{\cos \left(2 \cdot x\right)}{x \cdot cos}}}{sin \cdot \left(x \cdot cos\right)}\]
  8. Using strategy rm
  9. Applied associate-/r*2.6

    \[\leadsto \frac{\frac{1}{sin} \cdot \color{blue}{\frac{\frac{\cos \left(2 \cdot x\right)}{x}}{cos}}}{sin \cdot \left(x \cdot cos\right)}\]
  10. Using strategy rm
  11. Applied clear-num2.8

    \[\leadsto \color{blue}{\frac{1}{\frac{sin \cdot \left(x \cdot cos\right)}{\frac{1}{sin} \cdot \frac{\frac{\cos \left(2 \cdot x\right)}{x}}{cos}}}}\]
  12. Final simplification2.8

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

Reproduce

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