double code(double x) {
return ((double) (((double) (x - ((double) sin(x)))) / ((double) (x - ((double) tan(x))))));
}
double code(double x) {
double VAR;
if (((x <= -0.028305308455860895) || !(x <= 0.030174469617931295))) {
VAR = ((double) log(((double) exp(((double) (((double) (x / ((double) (x - ((double) tan(x)))))) - ((double) (((double) sin(x)) / ((double) (x - ((double) tan(x))))))))))));
} else {
VAR = ((double) (((double) (x * ((double) (x * 0.225)))) + ((double) (-0.5 + ((double) (((double) pow(x, 4.0)) * -0.009642857142857142))))));
}
return VAR;
}



Bits error versus x
Results
if x < -0.0283053084558608954 or 0.0301744696179312953 < x Initial program 0.0
rmApplied div-sub0.1
rmApplied add-log-exp0.1
Applied add-log-exp0.1
Applied diff-log0.1
Simplified0.1
if -0.0283053084558608954 < x < 0.0301744696179312953Initial program 63.1
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020190
(FPCore (x)
:name "sintan (problem 3.4.5)"
:precision binary64
(/ (- x (sin x)) (- x (tan x))))