Lines Matching full:cos
1 //===-- Single-precision cos function -------------------------------------===//
28 // x = 0x1.64a032p43, cos(x) = 0x1.9d4ba4p-1 (RZ)
30 // x = 0x1.4555p51, cos(x) = 0x1.115d7cp-1 (RZ)
32 // x = 0x1.48a858p54, cos(x) = 0x1.f48148p-2 (RZ)
34 // x = 0x1.3170fp63, cos(x) = 0x1.fe2976p-1 (RZ)
36 // x = 0x1.2b9622p67, cos(x) = 0x1.f0285cp-1 (RZ)
38 // x = 0x1.ddebdep120, cos(x) = 0x1.114438p-1 (RZ)
63 // since cos((k + y + 64*i) * pi/32) = cos(x + i * 2pi) = cos(x).
81 // cos(x) = cos((k + y)*pi/32)
82 // = cos(y*pi/32) * cos(k*pi/32) - sin(y*pi/32) * sin(k*pi/32)
83 // The values of sin(k*pi/32) and cos(k*pi/32) for k = 0..63 are precomputed
84 // and stored using a vector of 32 doubles. Sin(y*pi/32) and cos(y*pi/32) are
90 // When |x| < 2^-12, the relative error of the approximation cos(x) ~ 1
92 // |cos(x) - 1| < |x^2 / 2| = 2^-25 < epsilon(1)/2.
93 // So the correctly rounded values of cos(x) are:
124 // cos(x) = cos((k + y)*pi/32)
125 // = cos(y*pi/32) * cos(k*pi/32) - sin(y*pi/32) * sin(k*pi/32)