\frac{\tan \left(x \cdot 3.1415926535897931\right) + \tan \left(x \cdot 1.2246467991473533\right)}{1 - \tan \left(x \cdot 3.1415926535897931\right) \cdot \tan \left(x \cdot 1.2246467991473533\right)}\frac{\tan \left(x \cdot 3.1415926535897931\right) + \tan \left(x \cdot 1.2246467991473533\right)}{1 - \tan \left(x \cdot 3.1415926535897931\right) \cdot \tan \left(x \cdot 1.2246467991473533\right)}double code(double x) {
return ((double) (((double) (((double) tan(((double) (x * 3.141592653589793)))) + ((double) tan(((double) (x * 1.2246467991473533)))))) / ((double) (1.0 - ((double) (((double) tan(((double) (x * 3.141592653589793)))) * ((double) tan(((double) (x * 1.2246467991473533))))))))));
}
double code(double x) {
return ((double) (((double) (((double) tan(((double) (x * 3.141592653589793)))) + ((double) tan(((double) (x * 1.2246467991473533)))))) / ((double) (1.0 - ((double) (((double) tan(((double) (x * 3.141592653589793)))) * ((double) tan(((double) (x * 1.2246467991473533))))))))));
}



Bits error versus x
Results
Initial program 28.0
Final simplification28.0
herbie shell --seed 2020152
(FPCore (x)
:name "(/ (+ (tan (* x 3.141592653589793)) (tan (* x 1.2246467991473533))) (- 1 (* (tan (* x 3.141592653589793)) (tan (* x 1.2246467991473533)))))"
:precision binary64
(/ (+ (tan (* x 3.141592653589793)) (tan (* x 1.2246467991473533))) (- 1.0 (* (tan (* x 3.141592653589793)) (tan (* x 1.2246467991473533))))))