\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;
}



Bits error versus x
Results
Initial program 0.3
rmApplied flip3--0.4
Simplified0.4
rmApplied flip3-+0.4
Applied associate-*r/0.4
Final simplification0.4
herbie shell --seed 2020064
(FPCore (x)
:name "Trigonometry B"
:precision binary64
(/ (- 1 (* (tan x) (tan x))) (+ 1 (* (tan x) (tan x)))))