\frac{1 - \tan x \cdot \tan x}{1 + \tan x \cdot \tan x}\frac{\left(\sqrt{1} + \tan x\right) \cdot \frac{1 - \tan x \cdot \tan x}{\log \left(e^{\tan x + \sqrt{1}}\right)}}{\mathsf{fma}\left(\tan x, \tan x, 1\right)}double f(double x) {
double r13501 = 1.0;
double r13502 = x;
double r13503 = tan(r13502);
double r13504 = r13503 * r13503;
double r13505 = r13501 - r13504;
double r13506 = r13501 + r13504;
double r13507 = r13505 / r13506;
return r13507;
}
double f(double x) {
double r13508 = 1.0;
double r13509 = sqrt(r13508);
double r13510 = x;
double r13511 = tan(r13510);
double r13512 = r13509 + r13511;
double r13513 = r13511 * r13511;
double r13514 = r13508 - r13513;
double r13515 = r13511 + r13509;
double r13516 = exp(r13515);
double r13517 = log(r13516);
double r13518 = r13514 / r13517;
double r13519 = r13512 * r13518;
double r13520 = fma(r13511, r13511, r13508);
double r13521 = r13519 / r13520;
return r13521;
}



Bits error versus x
Initial program 0.3
Simplified0.3
rmApplied *-un-lft-identity0.3
rmApplied add-sqr-sqrt0.3
Applied difference-of-squares0.3
rmApplied flip--0.3
Simplified0.3
Simplified0.3
rmApplied add-log-exp0.3
Applied add-log-exp0.4
Applied sum-log0.5
Simplified0.4
Final simplification0.4
herbie shell --seed 2019350 +o rules:numerics
(FPCore (x)
:name "Trigonometry B"
:precision binary64
(/ (- 1 (* (tan x) (tan x))) (+ 1 (* (tan x) (tan x)))))