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