Average Error: 0.3 → 0.4
Time: 4.0s
Precision: 64
\[\frac{1 - \tan x \cdot \tan x}{1 + \tan x \cdot \tan x}\]
\[\frac{\frac{{1}^{3} - {\left(\tan x \cdot \tan x\right)}^{3}}{\frac{\left(\tan x \cdot \tan x\right) \cdot \left({\left(\tan x \cdot \tan x\right)}^{3} + {1}^{3}\right)}{\left(\tan x \cdot \tan x\right) \cdot \left(\tan x \cdot \tan x\right) + \left(1 \cdot 1 - \left(\tan x \cdot \tan x\right) \cdot 1\right)} + 1 \cdot 1}}{1 + \tan x \cdot \tan x}\]
\frac{1 - \tan x \cdot \tan x}{1 + \tan x \cdot \tan x}
\frac{\frac{{1}^{3} - {\left(\tan x \cdot \tan x\right)}^{3}}{\frac{\left(\tan x \cdot \tan x\right) \cdot \left({\left(\tan x \cdot \tan x\right)}^{3} + {1}^{3}\right)}{\left(\tan x \cdot \tan x\right) \cdot \left(\tan x \cdot \tan x\right) + \left(1 \cdot 1 - \left(\tan x \cdot \tan x\right) \cdot 1\right)} + 1 \cdot 1}}{1 + \tan x \cdot \tan x}
double f(double x) {
        double r11301 = 1.0;
        double r11302 = x;
        double r11303 = tan(r11302);
        double r11304 = r11303 * r11303;
        double r11305 = r11301 - r11304;
        double r11306 = r11301 + r11304;
        double r11307 = r11305 / r11306;
        return r11307;
}

double f(double x) {
        double r11308 = 1.0;
        double r11309 = 3.0;
        double r11310 = pow(r11308, r11309);
        double r11311 = x;
        double r11312 = tan(r11311);
        double r11313 = r11312 * r11312;
        double r11314 = pow(r11313, r11309);
        double r11315 = r11310 - r11314;
        double r11316 = r11314 + r11310;
        double r11317 = r11313 * r11316;
        double r11318 = r11313 * r11313;
        double r11319 = r11308 * r11308;
        double r11320 = r11313 * r11308;
        double r11321 = r11319 - r11320;
        double r11322 = r11318 + r11321;
        double r11323 = r11317 / r11322;
        double r11324 = r11323 + r11319;
        double r11325 = r11315 / r11324;
        double r11326 = r11308 + r11313;
        double r11327 = r11325 / r11326;
        return r11327;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.3

    \[\frac{1 - \tan x \cdot \tan x}{1 + \tan x \cdot \tan x}\]
  2. Using strategy rm
  3. Applied flip3--0.4

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

    \[\leadsto \frac{\frac{{1}^{3} - {\left(\tan x \cdot \tan x\right)}^{3}}{\color{blue}{\left(\tan x \cdot \tan x\right) \cdot \left(\tan x \cdot \tan x + 1\right) + 1 \cdot 1}}}{1 + \tan x \cdot \tan x}\]
  5. Using strategy rm
  6. Applied flip3-+0.4

    \[\leadsto \frac{\frac{{1}^{3} - {\left(\tan x \cdot \tan x\right)}^{3}}{\left(\tan x \cdot \tan x\right) \cdot \color{blue}{\frac{{\left(\tan x \cdot \tan x\right)}^{3} + {1}^{3}}{\left(\tan x \cdot \tan x\right) \cdot \left(\tan x \cdot \tan x\right) + \left(1 \cdot 1 - \left(\tan x \cdot \tan x\right) \cdot 1\right)}} + 1 \cdot 1}}{1 + \tan x \cdot \tan x}\]
  7. Applied associate-*r/0.4

    \[\leadsto \frac{\frac{{1}^{3} - {\left(\tan x \cdot \tan x\right)}^{3}}{\color{blue}{\frac{\left(\tan x \cdot \tan x\right) \cdot \left({\left(\tan x \cdot \tan x\right)}^{3} + {1}^{3}\right)}{\left(\tan x \cdot \tan x\right) \cdot \left(\tan x \cdot \tan x\right) + \left(1 \cdot 1 - \left(\tan x \cdot \tan x\right) \cdot 1\right)}} + 1 \cdot 1}}{1 + \tan x \cdot \tan x}\]
  8. Final simplification0.4

    \[\leadsto \frac{\frac{{1}^{3} - {\left(\tan x \cdot \tan x\right)}^{3}}{\frac{\left(\tan x \cdot \tan x\right) \cdot \left({\left(\tan x \cdot \tan x\right)}^{3} + {1}^{3}\right)}{\left(\tan x \cdot \tan x\right) \cdot \left(\tan x \cdot \tan x\right) + \left(1 \cdot 1 - \left(\tan x \cdot \tan x\right) \cdot 1\right)} + 1 \cdot 1}}{1 + \tan x \cdot \tan x}\]

Reproduce

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