\frac{1 - \tan x \cdot \tan x}{1 + \tan x \cdot \tan x}\frac{1 - \frac{\tan x \cdot \sin x}{\cos x}}{1 + \frac{\tan x \cdot \sin x}{\cos x}}(FPCore (x) :precision binary64 (/ (- 1.0 (* (tan x) (tan x))) (+ 1.0 (* (tan x) (tan x)))))
(FPCore (x) :precision binary64 (/ (- 1.0 (/ (* (tan x) (sin x)) (cos x))) (+ 1.0 (/ (* (tan x) (sin x)) (cos x)))))
double code(double x) {
return (((double) (1.0 - ((double) (((double) tan(x)) * ((double) tan(x)))))) / ((double) (1.0 + ((double) (((double) tan(x)) * ((double) tan(x)))))));
}
double code(double x) {
return (((double) (1.0 - (((double) (((double) tan(x)) * ((double) sin(x)))) / ((double) cos(x))))) / ((double) (1.0 + (((double) (((double) tan(x)) * ((double) sin(x)))) / ((double) cos(x))))));
}



Bits error versus x
Results
Initial program 0.3
rmApplied tan-quot_binary640.4
Applied associate-*r/_binary640.4
rmApplied tan-quot_binary640.4
Applied associate-*r/_binary640.3
Final simplification0.3
herbie shell --seed 2020210
(FPCore (x)
:name "Trigonometry B"
:precision binary64
(/ (- 1.0 (* (tan x) (tan x))) (+ 1.0 (* (tan x) (tan x)))))