1/* Data for function cosf. 2 Copyright (C) 2014-2022 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 5 The GNU C Library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 The GNU C Library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with the GNU C Library; if not, see 17 <https://www.gnu.org/licenses/>. */ 18 19#include "svml_s_trig_data.h" 20 21 .section .rodata, "a" 22 .align 64 23 24/* Data table for vector implementations of function cosf. 25 The table may contain polynomial, reduction, lookup coefficients 26 and other macro_names obtained through different methods 27 of research and experimental work. */ 28 29 .globl __svml_s_trig_data 30__svml_s_trig_data: 31 32/* General purpose constants: 33 absolute value mask */ 34float_vector __sAbsMask 0x7fffffff 35 36/* threshold for out-of-range values */ 37float_vector __sRangeReductionVal 0x461c4000 38 39/* +INF */ 40float_vector __sRangeVal 0x7f800000 41 42/* High Accuracy version polynomial coefficients: 43 S1 = -1.66666666664728165763e-01 */ 44float_vector __sS1 0xbe2aaaab 45 46/* S2 = 8.33329173045453069014e-03 */ 47float_vector __sS2 0x3c08885c 48 49/* C1 = -5.00000000000000000000e-01 */ 50float_vector __sC1 0xbf000000 51 52/* C2 = 4.16638942914469202550e-02 */ 53float_vector __sC2 0x3d2aaa7c 54 55/* Range reduction PI-based constants: 56 PI high part */ 57float_vector __sPI1 0x40490000 58 59/* PI mid part 1 */ 60float_vector __sPI2 0x3a7da000 61 62/* PI mid part 2 */ 63float_vector __sPI3 0x34222000 64 65/* PI low part */ 66float_vector __sPI4 0x2cb4611a 67 68/* PI1, PI2, and PI3 when FMA is available 69 PI high part (when FMA available) */ 70float_vector __sPI1_FMA 0x40490fdb 71 72/* PI mid part (when FMA available) */ 73float_vector __sPI2_FMA 0xb3bbbd2e 74 75/* PI low part (when FMA available) */ 76float_vector __sPI3_FMA 0xa7772ced 77 78/* Polynomial constants for work w/o FMA, relative error ~ 2^(-26.625) */ 79float_vector __sA3 0xbe2aaaa6 80float_vector __sA5 0x3c08876a 81float_vector __sA7 0xb94fb7ff 82float_vector __sA9 0x362edef8 83 84/* Polynomial constants, work with FMA, relative error ~ 2^(-26.417) */ 85float_vector __sA5_FMA 0x3c088768 86float_vector __sA7_FMA 0xb94fb6cf 87float_vector __sA9_FMA 0x362ec335 88 89/* 1/PI */ 90float_vector __sInvPI 0x3ea2f983 91 92/* right-shifter constant */ 93float_vector __sRShifter 0x4b400000 94 95/* PI/2 */ 96float_vector __sHalfPI 0x3fc90fdb 97 98/* 1/2 */ 99float_vector __sOneHalf 0x3f000000 100 101/* high accuracy table index mask */ 102float_vector __iIndexMask 0x000000ff 103 104/* 2^(k-1) */ 105float_vector __i2pK_1 0x00000040 106 107/* sign field mask */ 108float_vector __sSignMask 0x80000000 109 110 .type __svml_s_trig_data,@object 111 .size __svml_s_trig_data,.-__svml_s_trig_data 112