Average Error: 26.9 → 2.5
Time: 2.6m
Precision: 64
\[\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}\]
\[\begin{array}{l} \mathbf{if}\;x \le -9.091033200776134 \cdot 10^{-145}:\\ \;\;\;\;\frac{\frac{\frac{\cos x \cdot \cos x}{sin}}{cos \cdot x}}{\left(cos \cdot x\right) \cdot sin} - \frac{\frac{\frac{\sin x \cdot \sin x}{sin}}{cos \cdot x}}{\left(cos \cdot x\right) \cdot sin}\\ \mathbf{elif}\;x \le 5.235591676438192 \cdot 10^{-253}:\\ \;\;\;\;\frac{1}{\frac{\left(sin \cdot x\right) \cdot cos}{\cos \left(2 \cdot x\right)} \cdot \left(\left(sin \cdot x\right) \cdot cos\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{\cos x \cdot \cos x}{sin}}{cos \cdot x}}{\left(cos \cdot x\right) \cdot sin} - \frac{\frac{\frac{\sin x \cdot \sin x}{sin}}{cos \cdot x}}{\left(cos \cdot x\right) \cdot sin}\\ \end{array}\]
\frac{\cos \left(2 \cdot x\right)}{{cos}^{2} \cdot \left(\left(x \cdot {sin}^{2}\right) \cdot x\right)}
\begin{array}{l}
\mathbf{if}\;x \le -9.091033200776134 \cdot 10^{-145}:\\
\;\;\;\;\frac{\frac{\frac{\cos x \cdot \cos x}{sin}}{cos \cdot x}}{\left(cos \cdot x\right) \cdot sin} - \frac{\frac{\frac{\sin x \cdot \sin x}{sin}}{cos \cdot x}}{\left(cos \cdot x\right) \cdot sin}\\

\mathbf{elif}\;x \le 5.235591676438192 \cdot 10^{-253}:\\
\;\;\;\;\frac{1}{\frac{\left(sin \cdot x\right) \cdot cos}{\cos \left(2 \cdot x\right)} \cdot \left(\left(sin \cdot x\right) \cdot cos\right)}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{\cos x \cdot \cos x}{sin}}{cos \cdot x}}{\left(cos \cdot x\right) \cdot sin} - \frac{\frac{\frac{\sin x \cdot \sin x}{sin}}{cos \cdot x}}{\left(cos \cdot x\right) \cdot sin}\\

\end{array}
double f(double x, double cos, double sin) {
        double r18407833 = 2.0;
        double r18407834 = x;
        double r18407835 = r18407833 * r18407834;
        double r18407836 = cos(r18407835);
        double r18407837 = cos;
        double r18407838 = pow(r18407837, r18407833);
        double r18407839 = sin;
        double r18407840 = pow(r18407839, r18407833);
        double r18407841 = r18407834 * r18407840;
        double r18407842 = r18407841 * r18407834;
        double r18407843 = r18407838 * r18407842;
        double r18407844 = r18407836 / r18407843;
        return r18407844;
}

double f(double x, double cos, double sin) {
        double r18407845 = x;
        double r18407846 = -9.091033200776134e-145;
        bool r18407847 = r18407845 <= r18407846;
        double r18407848 = cos(r18407845);
        double r18407849 = r18407848 * r18407848;
        double r18407850 = sin;
        double r18407851 = r18407849 / r18407850;
        double r18407852 = cos;
        double r18407853 = r18407852 * r18407845;
        double r18407854 = r18407851 / r18407853;
        double r18407855 = r18407853 * r18407850;
        double r18407856 = r18407854 / r18407855;
        double r18407857 = sin(r18407845);
        double r18407858 = r18407857 * r18407857;
        double r18407859 = r18407858 / r18407850;
        double r18407860 = r18407859 / r18407853;
        double r18407861 = r18407860 / r18407855;
        double r18407862 = r18407856 - r18407861;
        double r18407863 = 5.235591676438192e-253;
        bool r18407864 = r18407845 <= r18407863;
        double r18407865 = 1.0;
        double r18407866 = r18407850 * r18407845;
        double r18407867 = r18407866 * r18407852;
        double r18407868 = 2.0;
        double r18407869 = r18407868 * r18407845;
        double r18407870 = cos(r18407869);
        double r18407871 = r18407867 / r18407870;
        double r18407872 = r18407871 * r18407867;
        double r18407873 = r18407865 / r18407872;
        double r18407874 = r18407864 ? r18407873 : r18407862;
        double r18407875 = r18407847 ? r18407862 : r18407874;
        return r18407875;
}

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. Split input into 2 regimes
  2. if x < -9.091033200776134e-145 or 5.235591676438192e-253 < x

    1. Initial program 25.0

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

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

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

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

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

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

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

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

    if -9.091033200776134e-145 < x < 5.235591676438192e-253

    1. Initial program 43.8

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

      \[\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*5.0

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

      \[\leadsto \frac{\color{blue}{\frac{\frac{\cos \left(2 \cdot x\right)}{sin}}{x \cdot cos}}}{sin \cdot \left(x \cdot cos\right)}\]
    7. Using strategy rm
    8. Applied clear-num5.3

      \[\leadsto \color{blue}{\frac{1}{\frac{sin \cdot \left(x \cdot cos\right)}{\frac{\frac{\cos \left(2 \cdot x\right)}{sin}}{x \cdot cos}}}}\]
    9. Simplified5.1

      \[\leadsto \frac{1}{\color{blue}{\left(\left(sin \cdot x\right) \cdot cos\right) \cdot \frac{\left(sin \cdot x\right) \cdot cos}{\cos \left(2 \cdot x\right)}}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification2.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -9.091033200776134 \cdot 10^{-145}:\\ \;\;\;\;\frac{\frac{\frac{\cos x \cdot \cos x}{sin}}{cos \cdot x}}{\left(cos \cdot x\right) \cdot sin} - \frac{\frac{\frac{\sin x \cdot \sin x}{sin}}{cos \cdot x}}{\left(cos \cdot x\right) \cdot sin}\\ \mathbf{elif}\;x \le 5.235591676438192 \cdot 10^{-253}:\\ \;\;\;\;\frac{1}{\frac{\left(sin \cdot x\right) \cdot cos}{\cos \left(2 \cdot x\right)} \cdot \left(\left(sin \cdot x\right) \cdot cos\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{\cos x \cdot \cos x}{sin}}{cos \cdot x}}{\left(cos \cdot x\right) \cdot sin} - \frac{\frac{\frac{\sin x \cdot \sin x}{sin}}{cos \cdot x}}{\left(cos \cdot x\right) \cdot sin}\\ \end{array}\]

Reproduce

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