\frac{1 - \tan x \cdot \tan x}{1 + \tan x \cdot \tan x}\log \left(e^{\frac{1 - \tan x \cdot \tan x}{1 + \tan x \cdot \tan x}}\right)(FPCore (x) :precision binary64 (/ (- 1.0 (* (tan x) (tan x))) (+ 1.0 (* (tan x) (tan x)))))
(FPCore (x) :precision binary64 (log (exp (/ (- 1.0 (* (tan x) (tan x))) (+ 1.0 (* (tan x) (tan x)))))))
double code(double x) {
return (1.0 - (tan(x) * tan(x))) / (1.0 + (tan(x) * tan(x)));
}
double code(double x) {
return log(exp((1.0 - (tan(x) * tan(x))) / (1.0 + (tan(x) * tan(x)))));
}



Bits error versus x
Results
Initial program 0.3
rmApplied add-log-exp_binary640.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2020231
(FPCore (x)
:name "Trigonometry B"
:precision binary64
(/ (- 1.0 (* (tan x) (tan x))) (+ 1.0 (* (tan x) (tan x)))))