Failure: Test: tan (0X1.124252853ECF1P+7) == -0X1.F7A6F84FD21CDP+0 Result: is: -1.96741080284118652344e+00 -0x1.f7a83c00000000000000p+0 should be: -1.96739149093627929688e+00 -0x1.f7a6f800000000000000p+0 difference: 1.93119049072265625000e-05 0x1.44000000000000000000p-16 ulp : 162.0000 max.ulp : 0.0000
Suspended until somebody comes up with a patch.
When you round the given argument to float, glibc's result is the correctly rounded tangent of the rounded argument.