1 /******************************************************************************
2   Copyright (c) 2007-2011, Intel Corp.
3   All rights reserved.
4 
5   Redistribution and use in source and binary forms, with or without
6   modification, are permitted provided that the following conditions are met:
7 
8     * Redistributions of source code must retain the above copyright notice,
9       this list of conditions and the following disclaimer.
10     * Redistributions in binary form must reproduce the above copyright
11       notice, this list of conditions and the following disclaimer in the
12       documentation and/or other materials provided with the distribution.
13     * Neither the name of Intel Corporation nor the names of its contributors
14       may be used to endorse or promote products derived from this software
15       without specific prior written permission.
16 
17   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
27   THE POSSIBILITY OF SUCH DAMAGE.
28 ******************************************************************************/
29 
30 #define	M_ACOS	0
31 #define	M_ACOSD	1
32 #define	M_ACOSH	2
33 #define	M_ASIN	3
34 #define	M_ASIND	4
35 #define	M_ASINH	5
36 #define	M_ATAN	6
37 #define	M_ATAND	7
38 #define	M_ATANH	8
39 #define	M_ATAN2	9
40 #define	M_ATAND2	10
41 #define	M_CABS	11
42 #define	M_COS	12
43 #define	M_COSD	13
44 #define	M_COSH	14
45 #define	M_CSQRT	15
46 #define	M_EXP	16
47 #define	M_EXPM1	17
48 #define	M_LOG	18
49 #define	M_LOG2	19
50 #define	M_LOG10	20
51 #define	M_MOD	21
52 #define	M_POWER	22
53 #define	M_REM	23
54 #define	M_SIN	24
55 #define	M_SIND	25
56 #define	M_SINH	26
57 #define	M_SQRT	27
58 #define	M_TAN	28
59 #define	M_TAND	29
60 #define	M_TANH	30
61 #define	M_SINCOS	31
62 #define	M_SINCOSD	32
63 #define	M_COT	33
64 #define	M_COTD	34
65 #define	M_TANCOT	35
66 #define	M_TANCOTD	36
67 #define	M_LOGB	37
68 #define	M_LDEXP	38
69 #define	M_CDIV	39
70 #define	M_NEXTAFTER	40
71 #define	M_INTPOWER	41
72 #define	M_BES_Y0	42
73 #define	M_BES_Y1	43
74 #define	M_BES_YN	44
75 #define	M_LOG1P	45
76 #define	M_LGAMMA	46
77 #define	M_SCALB	47
78 #define	M_INTINTPOWER	48
79 #define	M_BES_J0	49
80 #define	M_BES_J1	50
81 #define	M_BES_JN	51
82 #define	M_ERF	52
83 #define	M_ERFC	53
84 #define	M_TRUNC	54
85 #define	M_FLOOR	55
86 #define	M_CEIL	56
87 #define	M_FABS	57
88 #define	M_FREXP	58
89 #define	M_HYPOT	59
90 #define	M_MODF	60
91 #define	M_RSQRT	61
92 #define	M_EXP2	62
93 #define	M_TGAMMA	63
94 #define	M_SCALBN	64
95 #define	M_SCALBLN	65
96 #define	M_LRINT	66
97 #define	M_LROUND	67
98 #define	M_LLRINT	68
99 #define	M_LLROUND	69
100 #define	M_REMQUO	70
101 #define	M_NEXTTOWARD	71
102 #define	M_FDIM	72
103 #define	M_FMAX	73
104 #define	M_FMIN	74
105 #define	M_FMA	75
106 #define	M_NANFUNC	76
107 #define	M_LAST	77
108 
109 
110 #define	ACOS_ARG_GT_ONE	0
111 #define	ACOSD_ARG_GT_ONE	1
112 #define	ACOSH_ARG_LT_ONE	2
113 #define	ASIN_ARG_GT_ONE	3
114 #define	ASIND_ARG_GT_ONE	4
115 #define	ATANH_ABS_ARG_GT_ONE	5
116 #define	ATANH_OF_ONE	6
117 #define	ATANH_OF_NEG_ONE	7
118 #define	ATAN2_BOTH_ZERO	8
119 #define	ATAN2_BOTH_INF	9
120 #define	ATAN2_UNDERFLOW	10
121 #define	ATAND2_BOTH_ZERO	11
122 #define	ATAND2_BOTH_INF	12
123 #define	ATAND2_UNDERFLOW	13
124 #define	CABS_OVERFLOW	14
125 #define	CDIV_DIV_BY_ZERO	15
126 #define	CDIV_OVERFLOW	16
127 #define	COS_OF_INFINITY	17
128 #define	COSD_OF_INFINITY	18
129 #define	COSH_OVERFLOW	19
130 #define	COT_UNDERFLOW	20
131 #define	COT_POS_OVERFLOW	21
132 #define	COT_NEG_OVERFLOW	22
133 #define	COT_OF_INFINITY	23
134 #define	COT_OF_ZERO	24
135 #define	COT_OF_NEG_ZERO	25
136 #define	COTD_UNDERFLOW	26
137 #define	COTD_POS_OVERFLOW	27
138 #define	COTD_NEG_OVERFLOW	28
139 #define	COTD_OF_INFINITY	29
140 #define	COTD_OF_ZERO	30
141 #define	COTD_OF_NEG_ZERO	31
142 #define	COTD_MULTIPLE_OF_180	32
143 #define	EXP_OVERFLOW	33
144 #define	EXP_UNDERFLOW	34
145 #define	EXP_OF_INF	35
146 #define	EXP_OF_NEG_INF	36
147 #define	EXPM1_OVERFLOW	37
148 #define	EXPM1_OF_INF	38
149 #define	EXPM1_OF_NEG_INF	39
150 #define	LDEXP_OVERFLOW	40
151 #define	LDEXP_NEG_OVERFLOW	41
152 #define	LDEXP_UNDERFLOW	42
153 #define	SCALB_OVERFLOW	43
154 #define	SCALB_NEG_OVERFLOW	44
155 #define	SCALB_UNDERFLOW	45
156 #define	SCALB_OF_POS_TO_POS_INF	46
157 #define	SCALB_OF_NEG_TO_POS_INF	47
158 #define	SCALB_OF_FINITE_TO_NEG_INF	48
159 #define	SCALB_OF_INF_TO_NEG_INF	49
160 #define	SCALB_INVALID	50
161 #define	LOGB_OF_ZERO	51
162 #define	LOG_OF_NEGATIVE	52
163 #define	LOG_OF_ZERO	53
164 #define	LOG2_OF_NEGATIVE	54
165 #define	LOG2_OF_ZERO	55
166 #define	LOG10_OF_NEGATIVE	56
167 #define	LOG10_OF_ZERO	57
168 #define	LOG1P_LESS_M1	58
169 #define	LOG1P_M1	59
170 #define	MOD_UNDERFLOW	60
171 #define	MOD_BY_ZERO	61
172 #define	MOD_OF_INF	62
173 #define	NEXTAFTER_POS_OVERFLOW	63
174 #define	NEXTAFTER_NEG_OVERFLOW	64
175 #define	NEXTAFTER_POS_UNDERFLOW	65
176 #define	NEXTAFTER_NEG_UNDERFLOW	66
177 #define	POWER_POS_OVERFLOW	67
178 #define	POWER_NEG_OVERFLOW	68
179 #define	POWER_UNDERFLOW	69
180 #define	POWER_NEG_BASE	70
181 #define	POWER_ZERO_TO_NEG	71
182 #define	POWER_INF_TO_ZERO	72
183 #define	POWER_ONE_TO_INF	73
184 #define	POWER_NEG_ZERO_TO_NEG	74
185 #define	POWER_ZERO_TO_ZERO	75
186 #define	POWER_POS_INF_TO_POS	76
187 #define	POWER_NEG_INF_TO_POS	77
188 #define	POWER_NEG_INF_TO_POS_ODD	78
189 #define	POWER_FINITE_TO_INF	79
190 #define	POWER_INF_TO_NEG	80
191 #define	POWER_SMALL_TO_INF	81
192 #define	INTPOWER_POS_OVERFLOW	82
193 #define	INTPOWER_NEG_OVERFLOW	83
194 #define	INTPOWER_POS_UNDERFLOW	84
195 #define	INTPOWER_NEG_UNDERFLOW	85
196 #define	INTPOWER_ZERO_TO_ZERO	86
197 #define	INTPOWER_POS_DIV_BY_ZERO	87
198 #define	INTPOWER_NEG_DIV_BY_ZERO	88
199 #define	INTINTPOWER_OVERFLOW	89
200 #define	INTINTPOWER_ZERODIV	90
201 #define	REM_UNDERFLOW	91
202 #define	REM_BY_ZERO	92
203 #define	REM_OF_INF	93
204 #define	SIN_OF_INFINITY	94
205 #define	SINCOS_OF_INFINITY	95
206 #define	SINCOSD_OF_INFINITY	96
207 #define	SINCOSD_UNDERFLOW	97
208 #define	SIND_OF_INFINITY	98
209 #define	SIND_UNDERFLOW	99
210 #define	SINH_OVERFLOW	100
211 #define	SINH_NEG_OVERFLOW	101
212 #define	SINH_UNDERFLOW	102
213 #define	SQRT_OF_NEGATIVE	103
214 #define	RSQRT_OF_POS_ZERO	104
215 #define	RSQRT_OF_NEG_ZERO	105
216 #define	TAN_OF_INFINITY	106
217 #define	TAND_UNDERFLOW	107
218 #define	TAND_OVERFLOW	108
219 #define	TAND_OF_INFINITY	109
220 #define	TAND_ODD_MULTIPLE_OF_90	110
221 #define	TANH_OVERFLOW	111
222 #define	TANH_UNDERFLOW	112
223 #define	TANCOT_OF_INFINITY	113
224 #define	TANCOTD_OF_INFINITY	114
225 #define	TANCOTD_UNDERFLOW	115
226 #define	BES_J0_OF_INFINITY	116
227 #define	BES_J1_OF_INFINITY	117
228 #define	BES_JN_OF_INFINITY	118
229 #define	BES_J1_UNDERFLOW	119
230 #define	BES_J1_NEG_UNDERFLOW	120
231 #define	BES_JN_UNDERFLOW	121
232 #define	BES_JN_NEG_UNDERFLOW	122
233 #define	BES_Y0_OF_INFINITY	123
234 #define	BES_Y1_OF_INFINITY	124
235 #define	BES_YN_OF_INFINITY	125
236 #define	BES_Y0_OF_NEGATIVE	126
237 #define	BES_Y0_OF_ZERO	127
238 #define	BES_Y1_OF_NEGATIVE	128
239 #define	BES_Y1_OF_ZERO	129
240 #define	BES_Y1_OVERFLOW	130
241 #define	BES_YN_OF_NEGATIVE	131
242 #define	BES_YN_OF_ZERO	132
243 #define	BES_YN_NEG_OVERFLOW	133
244 #define	BES_YN_POS_OVERFLOW	134
245 #define	LGAMMA_OVERFLOW	135
246 #define	LGAMMA_POS_INF	136
247 #define	LGAMMA_NEG_INF	137
248 #define	LGAMMA_NON_POS_INT	138
249 #define	LGAMMA_OF_ZERO	139
250 #define	ERFC_UNDERFLOW	140
251 #define	NANFUNC_CANONICAL_NAN	141
252 #define	EXP2_OVERFLOW	142
253 #define	EXP2_UNDERFLOW	143
254 #define	EXP2_OF_INF	144
255 #define	EXP2_OF_NEG_INF	145
256 #define	SCALBN_OVERFLOW	146
257 #define	SCALBN_NEG_OVERFLOW	147
258 #define	SCALBN_UNDERFLOW	148
259 #define	SCALBLN_OVERFLOW	149
260 #define	SCALBLN_NEG_OVERFLOW	150
261 #define	SCALBLN_UNDERFLOW	151
262 #define	TGAMMA_OVERFLOW	152
263 #define	TGAMMA_NEG_OVERFLOW	153
264 #define	TGAMMA_POS_INF	154
265 #define	TGAMMA_NEG_INF	155
266 #define	TGAMMA_EVEN_NEG_INT	156
267 #define	TGAMMA_ODD_NEG_INT	157
268 #define	TGAMMA_OF_ZERO	158
269 #define	LRINT_OVERFLOW	159
270 #define	LROUND_OVERFLOW	160
271 #define	LLRINT_OVERFLOW	161
272 #define	LLROUND_OVERFLOW	162
273 #define	REMQUO_UNDERFLOW	163
274 #define	REMQUO_BY_ZERO	164
275 #define	REMQUO_OF_INF	165
276 #define	NEXTTOWARD_POS_OVERFLOW	166
277 #define	NEXTTOWARD_NEG_OVERFLOW	167
278 #define	NEXTTOWARD_POS_UNDERFLOW	168
279 #define	NEXTTOWARD_NEG_UNDERFLOW	169
280 #define	FDIM_POS_OVERFLOW	170
281 #define	FDIM_POS_UNDERFLOW	171
282 #define	FMA_POS_UNDERFLOW	172
283 #define	FMA_NEG_UNDERFLOW	173
284 #define	FMA_POS_OVERFLOW	174
285 #define	FMA_NEG_OVERFLOW	175
286 #define	FMA_INF_AND_ZERO	176
287 #define	FMA_INF_AND_INF	177
288 #define	LAST_ERROR_CODE	178
289