Average Error: 27.5 → 2.5
Time: 3.4m
Precision: 64
\[\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\]
\[\frac{\frac{1}{sin} \cdot \left(\frac{1}{x} \cdot \frac{\cos \left(x \cdot 2\right)}{cos}\right)}{sin \cdot \left(cos \cdot x\right)}\]
double f(double x, double cos, double sin) {
        double r26332703 = 2.0;
        double r26332704 = x;
        double r26332705 = r26332703 * r26332704;
        double r26332706 = cos(r26332705);
        double r26332707 = cos;
        double r26332708 = pow(r26332707, r26332703);
        double r26332709 = sin;
        double r26332710 = pow(r26332709, r26332703);
        double r26332711 = r26332704 * r26332710;
        double r26332712 = r26332711 * r26332704;
        double r26332713 = r26332708 * r26332712;
        double r26332714 = r26332706 / r26332713;
        return r26332714;
}

double f(double x, double cos, double sin) {
        double r26332715 = 1.0;
        double r26332716 = sin;
        double r26332717 = r26332715 / r26332716;
        double r26332718 = x;
        double r26332719 = r26332715 / r26332718;
        double r26332720 = 2.0;
        double r26332721 = r26332718 * r26332720;
        double r26332722 = cos(r26332721);
        double r26332723 = cos;
        double r26332724 = r26332722 / r26332723;
        double r26332725 = r26332719 * r26332724;
        double r26332726 = r26332717 * r26332725;
        double r26332727 = r26332723 * r26332718;
        double r26332728 = r26332716 * r26332727;
        double r26332729 = r26332726 / r26332728;
        return r26332729;
}

\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}
\frac{\frac{1}{sin} \cdot \left(\frac{1}{x} \cdot \frac{\cos \left(x \cdot 2\right)}{cos}\right)}{sin \cdot \left(cos \cdot x\right)}

Error

Bits error versus x

Bits error versus cos

Bits error versus sin

Derivation

  1. Initial program 27.5

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

    \[\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.3

    \[\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.3

    \[\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.5

    \[\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 *-un-lft-identity2.5

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

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

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

Reproduce

herbie shell --seed 2019102 
(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))))