Average Error: 0.3 → 0.4
Time: 55.8s
Precision: 64
\[\frac{1 - \tan x \cdot \tan x}{1 + \tan x \cdot \tan x}\]
\[\frac{1 - \sin x \cdot \frac{\frac{\sin x}{\cos x}}{\cos x}}{1 + \frac{\sin x}{\cos x} \cdot \frac{\sin x}{\cos x}}\]
double f(double x) {
        double r2024705 = 1.0;
        double r2024706 = x;
        double r2024707 = tan(r2024706);
        double r2024708 = r2024707 * r2024707;
        double r2024709 = r2024705 - r2024708;
        double r2024710 = r2024705 + r2024708;
        double r2024711 = r2024709 / r2024710;
        return r2024711;
}

double f(double x) {
        double r2024712 = 1.0;
        double r2024713 = x;
        double r2024714 = sin(r2024713);
        double r2024715 = cos(r2024713);
        double r2024716 = r2024714 / r2024715;
        double r2024717 = r2024716 / r2024715;
        double r2024718 = r2024714 * r2024717;
        double r2024719 = r2024712 - r2024718;
        double r2024720 = r2024716 * r2024716;
        double r2024721 = r2024712 + r2024720;
        double r2024722 = r2024719 / r2024721;
        return r2024722;
}

\frac{1 - \tan x \cdot \tan x}{1 + \tan x \cdot \tan x}
\frac{1 - \sin x \cdot \frac{\frac{\sin x}{\cos x}}{\cos x}}{1 + \frac{\sin x}{\cos x} \cdot \frac{\sin x}{\cos x}}

Error

Bits error versus x

Derivation

  1. Initial program 0.3

    \[\frac{1 - \tan x \cdot \tan x}{1 + \tan x \cdot \tan x}\]
  2. Taylor expanded around -inf 0.4

    \[\leadsto \color{blue}{\frac{1 - \frac{{\left(\sin x\right)}^{2}}{{\left(\cos x\right)}^{2}}}{\frac{{\left(\sin x\right)}^{2}}{{\left(\cos x\right)}^{2}} + 1}}\]
  3. Simplified0.4

    \[\leadsto \color{blue}{\frac{1 - \frac{\sin x}{\cos x} \cdot \frac{\sin x}{\cos x}}{1 + \frac{\sin x}{\cos x} \cdot \frac{\sin x}{\cos x}}}\]
  4. Using strategy rm
  5. Applied *-un-lft-identity0.4

    \[\leadsto \frac{1 - \frac{\sin x}{\cos x} \cdot \frac{\sin x}{\color{blue}{1 \cdot \cos x}}}{1 + \frac{\sin x}{\cos x} \cdot \frac{\sin x}{\cos x}}\]
  6. Applied add-sqr-sqrt31.4

    \[\leadsto \frac{1 - \frac{\sin x}{\cos x} \cdot \frac{\color{blue}{\sqrt{\sin x} \cdot \sqrt{\sin x}}}{1 \cdot \cos x}}{1 + \frac{\sin x}{\cos x} \cdot \frac{\sin x}{\cos x}}\]
  7. Applied times-frac31.4

    \[\leadsto \frac{1 - \frac{\sin x}{\cos x} \cdot \color{blue}{\left(\frac{\sqrt{\sin x}}{1} \cdot \frac{\sqrt{\sin x}}{\cos x}\right)}}{1 + \frac{\sin x}{\cos x} \cdot \frac{\sin x}{\cos x}}\]
  8. Applied *-un-lft-identity31.4

    \[\leadsto \frac{1 - \frac{\sin x}{\color{blue}{1 \cdot \cos x}} \cdot \left(\frac{\sqrt{\sin x}}{1} \cdot \frac{\sqrt{\sin x}}{\cos x}\right)}{1 + \frac{\sin x}{\cos x} \cdot \frac{\sin x}{\cos x}}\]
  9. Applied add-sqr-sqrt31.5

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

    \[\leadsto \frac{1 - \color{blue}{\left(\frac{\sqrt{\sin x}}{1} \cdot \frac{\sqrt{\sin x}}{\cos x}\right)} \cdot \left(\frac{\sqrt{\sin x}}{1} \cdot \frac{\sqrt{\sin x}}{\cos x}\right)}{1 + \frac{\sin x}{\cos x} \cdot \frac{\sin x}{\cos x}}\]
  11. Applied swap-sqr31.5

    \[\leadsto \frac{1 - \color{blue}{\left(\frac{\sqrt{\sin x}}{1} \cdot \frac{\sqrt{\sin x}}{1}\right) \cdot \left(\frac{\sqrt{\sin x}}{\cos x} \cdot \frac{\sqrt{\sin x}}{\cos x}\right)}}{1 + \frac{\sin x}{\cos x} \cdot \frac{\sin x}{\cos x}}\]
  12. Simplified31.5

    \[\leadsto \frac{1 - \color{blue}{\sin x} \cdot \left(\frac{\sqrt{\sin x}}{\cos x} \cdot \frac{\sqrt{\sin x}}{\cos x}\right)}{1 + \frac{\sin x}{\cos x} \cdot \frac{\sin x}{\cos x}}\]
  13. Simplified0.4

    \[\leadsto \frac{1 - \sin x \cdot \color{blue}{\frac{\frac{\sin x}{\cos x}}{\cos x}}}{1 + \frac{\sin x}{\cos x} \cdot \frac{\sin x}{\cos x}}\]
  14. Final simplification0.4

    \[\leadsto \frac{1 - \sin x \cdot \frac{\frac{\sin x}{\cos x}}{\cos x}}{1 + \frac{\sin x}{\cos x} \cdot \frac{\sin x}{\cos x}}\]

Reproduce

herbie shell --seed 2019101 
(FPCore (x)
  :name "Trigonometry B"
  (/ (- 1 (* (tan x) (tan x))) (+ 1 (* (tan x) (tan x)))))