1 /*
2  * Lookup table for double-precision e^x vector function.
3  *
4  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5  * See https://llvm.org/LICENSE.txt for license information.
6  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7  */
8 
9 #include "v_exp.h"
10 #if WANT_VMATH
11 
12 #define N (1 << V_EXP_TABLE_BITS)
13 
14 /* 2^(j/N), j=0..N.  */
15 const u64_t __v_exp_data[] = {
16 #if N == 128
17 0x3ff0000000000000,
18 0x3feff63da9fb3335,
19 0x3fefec9a3e778061,
20 0x3fefe315e86e7f85,
21 0x3fefd9b0d3158574,
22 0x3fefd06b29ddf6de,
23 0x3fefc74518759bc8,
24 0x3fefbe3ecac6f383,
25 0x3fefb5586cf9890f,
26 0x3fefac922b7247f7,
27 0x3fefa3ec32d3d1a2,
28 0x3fef9b66affed31b,
29 0x3fef9301d0125b51,
30 0x3fef8abdc06c31cc,
31 0x3fef829aaea92de0,
32 0x3fef7a98c8a58e51,
33 0x3fef72b83c7d517b,
34 0x3fef6af9388c8dea,
35 0x3fef635beb6fcb75,
36 0x3fef5be084045cd4,
37 0x3fef54873168b9aa,
38 0x3fef4d5022fcd91d,
39 0x3fef463b88628cd6,
40 0x3fef3f49917ddc96,
41 0x3fef387a6e756238,
42 0x3fef31ce4fb2a63f,
43 0x3fef2b4565e27cdd,
44 0x3fef24dfe1f56381,
45 0x3fef1e9df51fdee1,
46 0x3fef187fd0dad990,
47 0x3fef1285a6e4030b,
48 0x3fef0cafa93e2f56,
49 0x3fef06fe0a31b715,
50 0x3fef0170fc4cd831,
51 0x3feefc08b26416ff,
52 0x3feef6c55f929ff1,
53 0x3feef1a7373aa9cb,
54 0x3feeecae6d05d866,
55 0x3feee7db34e59ff7,
56 0x3feee32dc313a8e5,
57 0x3feedea64c123422,
58 0x3feeda4504ac801c,
59 0x3feed60a21f72e2a,
60 0x3feed1f5d950a897,
61 0x3feece086061892d,
62 0x3feeca41ed1d0057,
63 0x3feec6a2b5c13cd0,
64 0x3feec32af0d7d3de,
65 0x3feebfdad5362a27,
66 0x3feebcb299fddd0d,
67 0x3feeb9b2769d2ca7,
68 0x3feeb6daa2cf6642,
69 0x3feeb42b569d4f82,
70 0x3feeb1a4ca5d920f,
71 0x3feeaf4736b527da,
72 0x3feead12d497c7fd,
73 0x3feeab07dd485429,
74 0x3feea9268a5946b7,
75 0x3feea76f15ad2148,
76 0x3feea5e1b976dc09,
77 0x3feea47eb03a5585,
78 0x3feea34634ccc320,
79 0x3feea23882552225,
80 0x3feea155d44ca973,
81 0x3feea09e667f3bcd,
82 0x3feea012750bdabf,
83 0x3fee9fb23c651a2f,
84 0x3fee9f7df9519484,
85 0x3fee9f75e8ec5f74,
86 0x3fee9f9a48a58174,
87 0x3fee9feb564267c9,
88 0x3feea0694fde5d3f,
89 0x3feea11473eb0187,
90 0x3feea1ed0130c132,
91 0x3feea2f336cf4e62,
92 0x3feea427543e1a12,
93 0x3feea589994cce13,
94 0x3feea71a4623c7ad,
95 0x3feea8d99b4492ed,
96 0x3feeaac7d98a6699,
97 0x3feeace5422aa0db,
98 0x3feeaf3216b5448c,
99 0x3feeb1ae99157736,
100 0x3feeb45b0b91ffc6,
101 0x3feeb737b0cdc5e5,
102 0x3feeba44cbc8520f,
103 0x3feebd829fde4e50,
104 0x3feec0f170ca07ba,
105 0x3feec49182a3f090,
106 0x3feec86319e32323,
107 0x3feecc667b5de565,
108 0x3feed09bec4a2d33,
109 0x3feed503b23e255d,
110 0x3feed99e1330b358,
111 0x3feede6b5579fdbf,
112 0x3feee36bbfd3f37a,
113 0x3feee89f995ad3ad,
114 0x3feeee07298db666,
115 0x3feef3a2b84f15fb,
116 0x3feef9728de5593a,
117 0x3feeff76f2fb5e47,
118 0x3fef05b030a1064a,
119 0x3fef0c1e904bc1d2,
120 0x3fef12c25bd71e09,
121 0x3fef199bdd85529c,
122 0x3fef20ab5fffd07a,
123 0x3fef27f12e57d14b,
124 0x3fef2f6d9406e7b5,
125 0x3fef3720dcef9069,
126 0x3fef3f0b555dc3fa,
127 0x3fef472d4a07897c,
128 0x3fef4f87080d89f2,
129 0x3fef5818dcfba487,
130 0x3fef60e316c98398,
131 0x3fef69e603db3285,
132 0x3fef7321f301b460,
133 0x3fef7c97337b9b5f,
134 0x3fef864614f5a129,
135 0x3fef902ee78b3ff6,
136 0x3fef9a51fbc74c83,
137 0x3fefa4afa2a490da,
138 0x3fefaf482d8e67f1,
139 0x3fefba1bee615a27,
140 0x3fefc52b376bba97,
141 0x3fefd0765b6e4540,
142 0x3fefdbfdad9cbe14,
143 0x3fefe7c1819e90d8,
144 0x3feff3c22b8f71f1,
145 #elif N == 256
146 0x3ff0000000000000,
147 0x3feffb1afa5abcbf,
148 0x3feff63da9fb3335,
149 0x3feff168143b0281,
150 0x3fefec9a3e778061,
151 0x3fefe7d42e11bbcc,
152 0x3fefe315e86e7f85,
153 0x3fefde5f72f654b1,
154 0x3fefd9b0d3158574,
155 0x3fefd50a0e3c1f89,
156 0x3fefd06b29ddf6de,
157 0x3fefcbd42b72a836,
158 0x3fefc74518759bc8,
159 0x3fefc2bdf66607e0,
160 0x3fefbe3ecac6f383,
161 0x3fefb9c79b1f3919,
162 0x3fefb5586cf9890f,
163 0x3fefb0f145e46c85,
164 0x3fefac922b7247f7,
165 0x3fefa83b23395dec,
166 0x3fefa3ec32d3d1a2,
167 0x3fef9fa55fdfa9c5,
168 0x3fef9b66affed31b,
169 0x3fef973028d7233e,
170 0x3fef9301d0125b51,
171 0x3fef8edbab5e2ab6,
172 0x3fef8abdc06c31cc,
173 0x3fef86a814f204ab,
174 0x3fef829aaea92de0,
175 0x3fef7e95934f312e,
176 0x3fef7a98c8a58e51,
177 0x3fef76a45471c3c2,
178 0x3fef72b83c7d517b,
179 0x3fef6ed48695bbc0,
180 0x3fef6af9388c8dea,
181 0x3fef672658375d2f,
182 0x3fef635beb6fcb75,
183 0x3fef5f99f8138a1c,
184 0x3fef5be084045cd4,
185 0x3fef582f95281c6b,
186 0x3fef54873168b9aa,
187 0x3fef50e75eb44027,
188 0x3fef4d5022fcd91d,
189 0x3fef49c18438ce4d,
190 0x3fef463b88628cd6,
191 0x3fef42be3578a819,
192 0x3fef3f49917ddc96,
193 0x3fef3bdda27912d1,
194 0x3fef387a6e756238,
195 0x3fef351ffb82140a,
196 0x3fef31ce4fb2a63f,
197 0x3fef2e85711ece75,
198 0x3fef2b4565e27cdd,
199 0x3fef280e341ddf29,
200 0x3fef24dfe1f56381,
201 0x3fef21ba7591bb70,
202 0x3fef1e9df51fdee1,
203 0x3fef1b8a66d10f13,
204 0x3fef187fd0dad990,
205 0x3fef157e39771b2f,
206 0x3fef1285a6e4030b,
207 0x3fef0f961f641589,
208 0x3fef0cafa93e2f56,
209 0x3fef09d24abd886b,
210 0x3fef06fe0a31b715,
211 0x3fef0432edeeb2fd,
212 0x3fef0170fc4cd831,
213 0x3feefeb83ba8ea32,
214 0x3feefc08b26416ff,
215 0x3feef96266e3fa2d,
216 0x3feef6c55f929ff1,
217 0x3feef431a2de883b,
218 0x3feef1a7373aa9cb,
219 0x3feeef26231e754a,
220 0x3feeecae6d05d866,
221 0x3feeea401b7140ef,
222 0x3feee7db34e59ff7,
223 0x3feee57fbfec6cf4,
224 0x3feee32dc313a8e5,
225 0x3feee0e544ede173,
226 0x3feedea64c123422,
227 0x3feedc70df1c5175,
228 0x3feeda4504ac801c,
229 0x3feed822c367a024,
230 0x3feed60a21f72e2a,
231 0x3feed3fb2709468a,
232 0x3feed1f5d950a897,
233 0x3feecffa3f84b9d4,
234 0x3feece086061892d,
235 0x3feecc2042a7d232,
236 0x3feeca41ed1d0057,
237 0x3feec86d668b3237,
238 0x3feec6a2b5c13cd0,
239 0x3feec4e1e192aed2,
240 0x3feec32af0d7d3de,
241 0x3feec17dea6db7d7,
242 0x3feebfdad5362a27,
243 0x3feebe41b817c114,
244 0x3feebcb299fddd0d,
245 0x3feebb2d81d8abff,
246 0x3feeb9b2769d2ca7,
247 0x3feeb8417f4531ee,
248 0x3feeb6daa2cf6642,
249 0x3feeb57de83f4eef,
250 0x3feeb42b569d4f82,
251 0x3feeb2e2f4f6ad27,
252 0x3feeb1a4ca5d920f,
253 0x3feeb070dde910d2,
254 0x3feeaf4736b527da,
255 0x3feeae27dbe2c4cf,
256 0x3feead12d497c7fd,
257 0x3feeac0827ff07cc,
258 0x3feeab07dd485429,
259 0x3feeaa11fba87a03,
260 0x3feea9268a5946b7,
261 0x3feea84590998b93,
262 0x3feea76f15ad2148,
263 0x3feea6a320dceb71,
264 0x3feea5e1b976dc09,
265 0x3feea52ae6cdf6f4,
266 0x3feea47eb03a5585,
267 0x3feea3dd1d1929fd,
268 0x3feea34634ccc320,
269 0x3feea2b9febc8fb7,
270 0x3feea23882552225,
271 0x3feea1c1c70833f6,
272 0x3feea155d44ca973,
273 0x3feea0f4b19e9538,
274 0x3feea09e667f3bcd,
275 0x3feea052fa75173e,
276 0x3feea012750bdabf,
277 0x3fee9fdcddd47645,
278 0x3fee9fb23c651a2f,
279 0x3fee9f9298593ae5,
280 0x3fee9f7df9519484,
281 0x3fee9f7466f42e87,
282 0x3fee9f75e8ec5f74,
283 0x3fee9f8286ead08a,
284 0x3fee9f9a48a58174,
285 0x3fee9fbd35d7cbfd,
286 0x3fee9feb564267c9,
287 0x3feea024b1ab6e09,
288 0x3feea0694fde5d3f,
289 0x3feea0b938ac1cf6,
290 0x3feea11473eb0187,
291 0x3feea17b0976cfdb,
292 0x3feea1ed0130c132,
293 0x3feea26a62ff86f0,
294 0x3feea2f336cf4e62,
295 0x3feea3878491c491,
296 0x3feea427543e1a12,
297 0x3feea4d2add106d9,
298 0x3feea589994cce13,
299 0x3feea64c1eb941f7,
300 0x3feea71a4623c7ad,
301 0x3feea7f4179f5b21,
302 0x3feea8d99b4492ed,
303 0x3feea9cad931a436,
304 0x3feeaac7d98a6699,
305 0x3feeabd0a478580f,
306 0x3feeace5422aa0db,
307 0x3feeae05bad61778,
308 0x3feeaf3216b5448c,
309 0x3feeb06a5e0866d9,
310 0x3feeb1ae99157736,
311 0x3feeb2fed0282c8a,
312 0x3feeb45b0b91ffc6,
313 0x3feeb5c353aa2fe2,
314 0x3feeb737b0cdc5e5,
315 0x3feeb8b82b5f98e5,
316 0x3feeba44cbc8520f,
317 0x3feebbdd9a7670b3,
318 0x3feebd829fde4e50,
319 0x3feebf33e47a22a2,
320 0x3feec0f170ca07ba,
321 0x3feec2bb4d53fe0d,
322 0x3feec49182a3f090,
323 0x3feec674194bb8d5,
324 0x3feec86319e32323,
325 0x3feeca5e8d07f29e,
326 0x3feecc667b5de565,
327 0x3feece7aed8eb8bb,
328 0x3feed09bec4a2d33,
329 0x3feed2c980460ad8,
330 0x3feed503b23e255d,
331 0x3feed74a8af46052,
332 0x3feed99e1330b358,
333 0x3feedbfe53c12e59,
334 0x3feede6b5579fdbf,
335 0x3feee0e521356eba,
336 0x3feee36bbfd3f37a,
337 0x3feee5ff3a3c2774,
338 0x3feee89f995ad3ad,
339 0x3feeeb4ce622f2ff,
340 0x3feeee07298db666,
341 0x3feef0ce6c9a8952,
342 0x3feef3a2b84f15fb,
343 0x3feef68415b749b1,
344 0x3feef9728de5593a,
345 0x3feefc6e29f1c52a,
346 0x3feeff76f2fb5e47,
347 0x3fef028cf22749e4,
348 0x3fef05b030a1064a,
349 0x3fef08e0b79a6f1f,
350 0x3fef0c1e904bc1d2,
351 0x3fef0f69c3f3a207,
352 0x3fef12c25bd71e09,
353 0x3fef16286141b33d,
354 0x3fef199bdd85529c,
355 0x3fef1d1cd9fa652c,
356 0x3fef20ab5fffd07a,
357 0x3fef244778fafb22,
358 0x3fef27f12e57d14b,
359 0x3fef2ba88988c933,
360 0x3fef2f6d9406e7b5,
361 0x3fef33405751c4db,
362 0x3fef3720dcef9069,
363 0x3fef3b0f2e6d1675,
364 0x3fef3f0b555dc3fa,
365 0x3fef43155b5bab74,
366 0x3fef472d4a07897c,
367 0x3fef4b532b08c968,
368 0x3fef4f87080d89f2,
369 0x3fef53c8eacaa1d6,
370 0x3fef5818dcfba487,
371 0x3fef5c76e862e6d3,
372 0x3fef60e316c98398,
373 0x3fef655d71ff6075,
374 0x3fef69e603db3285,
375 0x3fef6e7cd63a8315,
376 0x3fef7321f301b460,
377 0x3fef77d5641c0658,
378 0x3fef7c97337b9b5f,
379 0x3fef81676b197d17,
380 0x3fef864614f5a129,
381 0x3fef8b333b16ee12,
382 0x3fef902ee78b3ff6,
383 0x3fef953924676d76,
384 0x3fef9a51fbc74c83,
385 0x3fef9f7977cdb740,
386 0x3fefa4afa2a490da,
387 0x3fefa9f4867cca6e,
388 0x3fefaf482d8e67f1,
389 0x3fefb4aaa2188510,
390 0x3fefba1bee615a27,
391 0x3fefbf9c1cb6412a,
392 0x3fefc52b376bba97,
393 0x3fefcac948dd7274,
394 0x3fefd0765b6e4540,
395 0x3fefd632798844f8,
396 0x3fefdbfdad9cbe14,
397 0x3fefe1d802243c89,
398 0x3fefe7c1819e90d8,
399 0x3fefedba3692d514,
400 0x3feff3c22b8f71f1,
401 0x3feff9d96b2a23d9,
402 #endif
403 };
404 #endif
405