Lines Matching full:cos
1 //===-- Single-precision cos function -------------------------------------===//
29 // x = 0x1.64a032p43, cos(x) = 0x1.9d4ba4p-1 (RZ)
31 // x = 0x1.4555p51, cos(x) = 0x1.115d7cp-1 (RZ)
33 // x = 0x1.48a858p54, cos(x) = 0x1.f48148p-2 (RZ)
35 // x = 0x1.3170fp63, cos(x) = 0x1.fe2976p-1 (RZ)
37 // x = 0x1.2b9622p67, cos(x) = 0x1.f0285cp-1 (RZ)
39 // x = 0x1.ddebdep120, cos(x) = 0x1.114438p-1 (RZ)
65 // since cos((k + y + 64*i) * pi/32) = cos(x + i * 2pi) = cos(x).
83 // cos(x) = cos((k + y)*pi/32)
84 // = cos(y*pi/32) * cos(k*pi/32) - sin(y*pi/32) * sin(k*pi/32)
85 // The values of sin(k*pi/32) and cos(k*pi/32) for k = 0..63 are precomputed
86 // and stored using a vector of 32 doubles. Sin(y*pi/32) and cos(y*pi/32) are
92 // When |x| < 2^-12, the relative error of the approximation cos(x) ~ 1
94 // |cos(x) - 1| < |x^2 / 2| = 2^-25 < epsilon(1)/2.
95 // So the correctly rounded values of cos(x) are:
128 // cos(x) = cos((k + y)*pi/32)
129 // = cos(y*pi/32) * cos(k*pi/32) - sin(y*pi/32) * sin(k*pi/32)