Lines Matching +full:0 +full:x3280
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
29 uint32_t x_abs = x_u & 0x7fff'ffffU;
32 if (LIBC_UNLIKELY(x_abs >= 0x421a'209bU)) {
34 if (x_u > 0xc234'9e35U) {
35 // exp(-Inf) = 0
48 if (xbits.is_pos() && (x_u >= 0x421a'209bU)) {
50 if (x_u < 0x7f80'0000U) {
64 if (LIBC_UNLIKELY(x_abs <= 0x3b9a'209bU)) {
65 if (LIBC_UNLIKELY(x_u == 0xb25e'5bd9U)) { // x = -0x1.bcb7b2p-27f
67 return 0x1.fffffep-1f;
71 if (LIBC_UNLIKELY(x_abs <= 0x3280'0000U)) {
72 return fputil::multiply_add(x, 0x1.26bb1cp+1f, 1.0f);
79 if (LIBC_UNLIKELY(x_u == 0x3d14'd956U)) { // x = 0x1.29b2acp-5f
81 return 0x1.1657c4p+0f;
85 // Quick check mask: 0x800f'ffffU = ~(bits of 1.0f | ... | bits of 10.0f)
86 if (LIBC_UNLIKELY((x_u & 0x800f'ffffU) == 0)) {
88 case 0x3f800000U: // x = 1.0f
90 case 0x40000000U: // x = 2.0f
92 case 0x40400000U: // x = 3.0f
94 case 0x40800000U: // x = 4.0f
96 case 0x40a00000U: // x = 5.0f
98 case 0x40c00000U: // x = 6.0f
100 case 0x40e00000U: // x = 7.0f
102 case 0x41000000U: // x = 8.0f
104 case 0x41100000U: // x = 9.0f
106 case 0x41200000U: // x = 10.0f
116 // 10^lo ~ 1 + COEFFS[0] * lo + ... + COEFFS[4] * lo^5
119 // c0 = 1 + COEFFS[0] * lo
120 double c0 = multiply_add(rr.lo, Exp10Base::COEFFS[0], 1.0);