1/*
2 * Copyright (c) 2014 Advanced Micro Devices, Inc.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to deal
6 * in the Software without restriction, including without limitation the rights
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 * copies of the Software, and to permit persons to whom the Software is
9 * furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 * THE SOFTWARE.
21 */
22
23#include <clc/clc.h>
24
25#include "tables.h"
26
27DECLARE_TABLE(float2, LOGE_TBL, 129) = {
28    (float2)(0x0.000000p+0f, 0x0.000000p+0f),
29    (float2)(0x1.fe0000p-8f, 0x1.535882p-23f),
30    (float2)(0x1.fc0000p-7f, 0x1.5161f8p-20f),
31    (float2)(0x1.7b8000p-6f, 0x1.1b07d4p-18f),
32    (float2)(0x1.f82000p-6f, 0x1.361cf0p-19f),
33    (float2)(0x1.39e000p-5f, 0x1.0f73fcp-18f),
34    (float2)(0x1.774000p-5f, 0x1.63d8cap-19f),
35    (float2)(0x1.b42000p-5f, 0x1.bae232p-18f),
36    (float2)(0x1.f0a000p-5f, 0x1.86008ap-20f),
37    (float2)(0x1.164000p-4f, 0x1.36eea2p-16f),
38    (float2)(0x1.340000p-4f, 0x1.d7961ap-16f),
39    (float2)(0x1.51a000p-4f, 0x1.073f06p-16f),
40    (float2)(0x1.6f0000p-4f, 0x1.a515cap-17f),
41    (float2)(0x1.8c2000p-4f, 0x1.45d630p-16f),
42    (float2)(0x1.a92000p-4f, 0x1.b4e92ap-18f),
43    (float2)(0x1.c5e000p-4f, 0x1.523d6ep-18f),
44    (float2)(0x1.e26000p-4f, 0x1.076e2ap-16f),
45    (float2)(0x1.fec000p-4f, 0x1.2263b6p-17f),
46    (float2)(0x1.0d6000p-3f, 0x1.7e7cd0p-15f),
47    (float2)(0x1.1b6000p-3f, 0x1.2ad52ep-15f),
48    (float2)(0x1.294000p-3f, 0x1.52f81ep-15f),
49    (float2)(0x1.370000p-3f, 0x1.fc201ep-15f),
50    (float2)(0x1.44c000p-3f, 0x1.2b6ccap-15f),
51    (float2)(0x1.526000p-3f, 0x1.cbc742p-16f),
52    (float2)(0x1.5fe000p-3f, 0x1.3070a6p-15f),
53    (float2)(0x1.6d6000p-3f, 0x1.fce33ap-20f),
54    (float2)(0x1.7aa000p-3f, 0x1.890210p-15f),
55    (float2)(0x1.87e000p-3f, 0x1.a06520p-15f),
56    (float2)(0x1.952000p-3f, 0x1.6a73d0p-17f),
57    (float2)(0x1.a22000p-3f, 0x1.bc1fe2p-15f),
58    (float2)(0x1.af2000p-3f, 0x1.c94e80p-15f),
59    (float2)(0x1.bc2000p-3f, 0x1.0ce85ap-16f),
60    (float2)(0x1.c8e000p-3f, 0x1.f7c79ap-15f),
61    (float2)(0x1.d5c000p-3f, 0x1.0b5a7cp-18f),
62    (float2)(0x1.e26000p-3f, 0x1.076e2ap-15f),
63    (float2)(0x1.ef0000p-3f, 0x1.5b97b8p-16f),
64    (float2)(0x1.fb8000p-3f, 0x1.186d5ep-15f),
65    (float2)(0x1.040000p-2f, 0x1.2ca5a6p-17f),
66    (float2)(0x1.0a2000p-2f, 0x1.24e272p-14f),
67    (float2)(0x1.104000p-2f, 0x1.8bf9aep-14f),
68    (float2)(0x1.166000p-2f, 0x1.5cabaap-14f),
69    (float2)(0x1.1c8000p-2f, 0x1.3182d2p-15f),
70    (float2)(0x1.228000p-2f, 0x1.41fbcep-14f),
71    (float2)(0x1.288000p-2f, 0x1.5a13dep-14f),
72    (float2)(0x1.2e8000p-2f, 0x1.c575c2p-15f),
73    (float2)(0x1.346000p-2f, 0x1.dd9a98p-14f),
74    (float2)(0x1.3a6000p-2f, 0x1.3155a4p-16f),
75    (float2)(0x1.404000p-2f, 0x1.843434p-17f),
76    (float2)(0x1.460000p-2f, 0x1.8bc21cp-14f),
77    (float2)(0x1.4be000p-2f, 0x1.7e55dcp-16f),
78    (float2)(0x1.51a000p-2f, 0x1.5b0e5ap-15f),
79    (float2)(0x1.576000p-2f, 0x1.dc5d14p-16f),
80    (float2)(0x1.5d0000p-2f, 0x1.bdbf58p-14f),
81    (float2)(0x1.62c000p-2f, 0x1.05e572p-15f),
82    (float2)(0x1.686000p-2f, 0x1.903d36p-15f),
83    (float2)(0x1.6e0000p-2f, 0x1.1d5456p-15f),
84    (float2)(0x1.738000p-2f, 0x1.d7f6bap-14f),
85    (float2)(0x1.792000p-2f, 0x1.4abfbap-15f),
86    (float2)(0x1.7ea000p-2f, 0x1.f07704p-15f),
87    (float2)(0x1.842000p-2f, 0x1.a3b43cp-15f),
88    (float2)(0x1.89a000p-2f, 0x1.9c360ap-17f),
89    (float2)(0x1.8f0000p-2f, 0x1.1e8736p-14f),
90    (float2)(0x1.946000p-2f, 0x1.941c20p-14f),
91    (float2)(0x1.99c000p-2f, 0x1.958116p-14f),
92    (float2)(0x1.9f2000p-2f, 0x1.23ecbep-14f),
93    (float2)(0x1.a48000p-2f, 0x1.024396p-16f),
94    (float2)(0x1.a9c000p-2f, 0x1.d93534p-15f),
95    (float2)(0x1.af0000p-2f, 0x1.293246p-14f),
96    (float2)(0x1.b44000p-2f, 0x1.eef798p-15f),
97    (float2)(0x1.b98000p-2f, 0x1.625a4cp-16f),
98    (float2)(0x1.bea000p-2f, 0x1.4d9da6p-14f),
99    (float2)(0x1.c3c000p-2f, 0x1.d7a7ccp-14f),
100    (float2)(0x1.c8e000p-2f, 0x1.f7c79ap-14f),
101    (float2)(0x1.ce0000p-2f, 0x1.af0b84p-14f),
102    (float2)(0x1.d32000p-2f, 0x1.fcfc00p-15f),
103    (float2)(0x1.d82000p-2f, 0x1.e7258ap-14f),
104    (float2)(0x1.dd4000p-2f, 0x1.a81306p-16f),
105    (float2)(0x1.e24000p-2f, 0x1.1034f8p-15f),
106    (float2)(0x1.e74000p-2f, 0x1.09875ap-16f),
107    (float2)(0x1.ec2000p-2f, 0x1.99d246p-14f),
108    (float2)(0x1.f12000p-2f, 0x1.1ebf5ep-15f),
109    (float2)(0x1.f60000p-2f, 0x1.23fa70p-14f),
110    (float2)(0x1.fae000p-2f, 0x1.588f78p-14f),
111    (float2)(0x1.ffc000p-2f, 0x1.2e0856p-14f),
112    (float2)(0x1.024000p-1f, 0x1.52a5a4p-13f),
113    (float2)(0x1.04a000p-1f, 0x1.df9da8p-13f),
114    (float2)(0x1.072000p-1f, 0x1.f2e0e6p-16f),
115    (float2)(0x1.098000p-1f, 0x1.bd3d5cp-15f),
116    (float2)(0x1.0be000p-1f, 0x1.cb9094p-15f),
117    (float2)(0x1.0e4000p-1f, 0x1.261746p-15f),
118    (float2)(0x1.108000p-1f, 0x1.f39e2cp-13f),
119    (float2)(0x1.12e000p-1f, 0x1.719592p-13f),
120    (float2)(0x1.154000p-1f, 0x1.87a5e8p-14f),
121    (float2)(0x1.178000p-1f, 0x1.eabbd8p-13f),
122    (float2)(0x1.19e000p-1f, 0x1.cd68cep-14f),
123    (float2)(0x1.1c2000p-1f, 0x1.b81f70p-13f),
124    (float2)(0x1.1e8000p-1f, 0x1.7d79c0p-15f),
125    (float2)(0x1.20c000p-1f, 0x1.b9a324p-14f),
126    (float2)(0x1.230000p-1f, 0x1.30d7bep-13f),
127    (float2)(0x1.254000p-1f, 0x1.5bce98p-13f),
128    (float2)(0x1.278000p-1f, 0x1.5e1288p-13f),
129    (float2)(0x1.29c000p-1f, 0x1.37fec2p-13f),
130    (float2)(0x1.2c0000p-1f, 0x1.d3da88p-14f),
131    (float2)(0x1.2e4000p-1f, 0x1.d0db90p-15f),
132    (float2)(0x1.306000p-1f, 0x1.d7334ep-13f),
133    (float2)(0x1.32a000p-1f, 0x1.133912p-13f),
134    (float2)(0x1.34e000p-1f, 0x1.44ece6p-16f),
135    (float2)(0x1.370000p-1f, 0x1.17b546p-13f),
136    (float2)(0x1.392000p-1f, 0x1.e0d356p-13f),
137    (float2)(0x1.3b6000p-1f, 0x1.0893fep-14f),
138    (float2)(0x1.3d8000p-1f, 0x1.026a70p-13f),
139    (float2)(0x1.3fa000p-1f, 0x1.5b84d0p-13f),
140    (float2)(0x1.41c000p-1f, 0x1.8fe846p-13f),
141    (float2)(0x1.43e000p-1f, 0x1.9fe2f8p-13f),
142    (float2)(0x1.460000p-1f, 0x1.8bc21cp-13f),
143    (float2)(0x1.482000p-1f, 0x1.53d1eap-13f),
144    (float2)(0x1.4a4000p-1f, 0x1.f0bb60p-14f),
145    (float2)(0x1.4c6000p-1f, 0x1.e6bf32p-15f),
146    (float2)(0x1.4e6000p-1f, 0x1.d811b6p-13f),
147    (float2)(0x1.508000p-1f, 0x1.13cc00p-13f),
148    (float2)(0x1.52a000p-1f, 0x1.6932dep-16f),
149    (float2)(0x1.54a000p-1f, 0x1.246798p-13f),
150    (float2)(0x1.56a000p-1f, 0x1.f9d5b2p-13f),
151    (float2)(0x1.58c000p-1f, 0x1.5b6b9ap-14f),
152    (float2)(0x1.5ac000p-1f, 0x1.404c34p-13f),
153    (float2)(0x1.5cc000p-1f, 0x1.b1dc6cp-13f),
154    (float2)(0x1.5ee000p-1f, 0x1.54920ap-20f),
155    (float2)(0x1.60e000p-1f, 0x1.97a23cp-16f),
156    (float2)(0x1.62e000p-1f, 0x1.0bfbe8p-15f),
157};
158
159DECLARE_TABLE(float, LOG_INV_TBL, 129) = {
160    0x1.000000p+1f,
161    0x1.fc07f0p+0f,
162    0x1.f81f82p+0f,
163    0x1.f4465ap+0f,
164    0x1.f07c20p+0f,
165    0x1.ecc07cp+0f,
166    0x1.e9131ap+0f,
167    0x1.e573acp+0f,
168    0x1.e1e1e2p+0f,
169    0x1.de5d6ep+0f,
170    0x1.dae608p+0f,
171    0x1.d77b66p+0f,
172    0x1.d41d42p+0f,
173    0x1.d0cb58p+0f,
174    0x1.cd8568p+0f,
175    0x1.ca4b30p+0f,
176    0x1.c71c72p+0f,
177    0x1.c3f8f0p+0f,
178    0x1.c0e070p+0f,
179    0x1.bdd2b8p+0f,
180    0x1.bacf92p+0f,
181    0x1.b7d6c4p+0f,
182    0x1.b4e81cp+0f,
183    0x1.b20364p+0f,
184    0x1.af286cp+0f,
185    0x1.ac5702p+0f,
186    0x1.a98ef6p+0f,
187    0x1.a6d01ap+0f,
188    0x1.a41a42p+0f,
189    0x1.a16d40p+0f,
190    0x1.9ec8eap+0f,
191    0x1.9c2d14p+0f,
192    0x1.99999ap+0f,
193    0x1.970e50p+0f,
194    0x1.948b10p+0f,
195    0x1.920fb4p+0f,
196    0x1.8f9c18p+0f,
197    0x1.8d3018p+0f,
198    0x1.8acb90p+0f,
199    0x1.886e60p+0f,
200    0x1.861862p+0f,
201    0x1.83c978p+0f,
202    0x1.818182p+0f,
203    0x1.7f4060p+0f,
204    0x1.7d05f4p+0f,
205    0x1.7ad220p+0f,
206    0x1.78a4c8p+0f,
207    0x1.767dcep+0f,
208    0x1.745d18p+0f,
209    0x1.724288p+0f,
210    0x1.702e06p+0f,
211    0x1.6e1f76p+0f,
212    0x1.6c16c2p+0f,
213    0x1.6a13cep+0f,
214    0x1.681682p+0f,
215    0x1.661ec6p+0f,
216    0x1.642c86p+0f,
217    0x1.623fa8p+0f,
218    0x1.605816p+0f,
219    0x1.5e75bcp+0f,
220    0x1.5c9882p+0f,
221    0x1.5ac056p+0f,
222    0x1.58ed24p+0f,
223    0x1.571ed4p+0f,
224    0x1.555556p+0f,
225    0x1.539094p+0f,
226    0x1.51d07ep+0f,
227    0x1.501502p+0f,
228    0x1.4e5e0ap+0f,
229    0x1.4cab88p+0f,
230    0x1.4afd6ap+0f,
231    0x1.49539ep+0f,
232    0x1.47ae14p+0f,
233    0x1.460cbcp+0f,
234    0x1.446f86p+0f,
235    0x1.42d662p+0f,
236    0x1.414142p+0f,
237    0x1.3fb014p+0f,
238    0x1.3e22ccp+0f,
239    0x1.3c995ap+0f,
240    0x1.3b13b2p+0f,
241    0x1.3991c2p+0f,
242    0x1.381382p+0f,
243    0x1.3698e0p+0f,
244    0x1.3521d0p+0f,
245    0x1.33ae46p+0f,
246    0x1.323e34p+0f,
247    0x1.30d190p+0f,
248    0x1.2f684cp+0f,
249    0x1.2e025cp+0f,
250    0x1.2c9fb4p+0f,
251    0x1.2b404ap+0f,
252    0x1.29e412p+0f,
253    0x1.288b02p+0f,
254    0x1.27350cp+0f,
255    0x1.25e228p+0f,
256    0x1.24924ap+0f,
257    0x1.234568p+0f,
258    0x1.21fb78p+0f,
259    0x1.20b470p+0f,
260    0x1.1f7048p+0f,
261    0x1.1e2ef4p+0f,
262    0x1.1cf06ap+0f,
263    0x1.1bb4a4p+0f,
264    0x1.1a7b96p+0f,
265    0x1.194538p+0f,
266    0x1.181182p+0f,
267    0x1.16e068p+0f,
268    0x1.15b1e6p+0f,
269    0x1.1485f0p+0f,
270    0x1.135c82p+0f,
271    0x1.12358ep+0f,
272    0x1.111112p+0f,
273    0x1.0fef02p+0f,
274    0x1.0ecf56p+0f,
275    0x1.0db20ap+0f,
276    0x1.0c9714p+0f,
277    0x1.0b7e6ep+0f,
278    0x1.0a6810p+0f,
279    0x1.0953f4p+0f,
280    0x1.084210p+0f,
281    0x1.073260p+0f,
282    0x1.0624dep+0f,
283    0x1.051980p+0f,
284    0x1.041042p+0f,
285    0x1.03091cp+0f,
286    0x1.020408p+0f,
287    0x1.010102p+0f,
288    0x1.000000p+0f,
289};
290
291DECLARE_TABLE(float2, LOG2_TBL, 129) = {
292    (float2)(0x0.000000p+0f, 0x0.000000p+0f),
293    (float2)(0x1.6f8000p-7f, 0x1.942dbap-17f),
294    (float2)(0x1.6e0000p-6f, 0x1.e5a170p-16f),
295    (float2)(0x1.118000p-5f, 0x1.347544p-15f),
296    (float2)(0x1.6b8000p-5f, 0x1.69bac6p-16f),
297    (float2)(0x1.c48000p-5f, 0x1.7eae42p-15f),
298    (float2)(0x1.0e8000p-4f, 0x1.9c4fd0p-15f),
299    (float2)(0x1.3a8000p-4f, 0x1.17ee92p-15f),
300    (float2)(0x1.660000p-4f, 0x1.fb7d64p-15f),
301    (float2)(0x1.918000p-4f, 0x1.42dc8cp-17f),
302    (float2)(0x1.bc8000p-4f, 0x1.0902b6p-18f),
303    (float2)(0x1.e70000p-4f, 0x1.7608bep-15f),
304    (float2)(0x1.088000p-3f, 0x1.162336p-13f),
305    (float2)(0x1.1d8000p-3f, 0x1.3465d4p-13f),
306    (float2)(0x1.328000p-3f, 0x1.74f13cp-14f),
307    (float2)(0x1.470000p-3f, 0x1.aa7e60p-13f),
308    (float2)(0x1.5c0000p-3f, 0x1.a39fbcp-19f),
309    (float2)(0x1.700000p-3f, 0x1.d0b53ap-13f),
310    (float2)(0x1.848000p-3f, 0x1.0af40ap-13f),
311    (float2)(0x1.988000p-3f, 0x1.b741dep-13f),
312    (float2)(0x1.ac8000p-3f, 0x1.d78b6cp-13f),
313    (float2)(0x1.c08000p-3f, 0x1.6db376p-13f),
314    (float2)(0x1.d48000p-3f, 0x1.ee4c32p-15f),
315    (float2)(0x1.e80000p-3f, 0x1.02f9d2p-13f),
316    (float2)(0x1.fb8000p-3f, 0x1.05ae40p-13f),
317    (float2)(0x1.078000p-2f, 0x1.0adbb0p-14f),
318    (float2)(0x1.110000p-2f, 0x1.83ed68p-13f),
319    (float2)(0x1.1a8000p-2f, 0x1.016ca4p-12f),
320    (float2)(0x1.240000p-2f, 0x1.01eac2p-12f),
321    (float2)(0x1.2d8000p-2f, 0x1.887e26p-13f),
322    (float2)(0x1.370000p-2f, 0x1.24cea4p-14f),
323    (float2)(0x1.400000p-2f, 0x1.918ec6p-12f),
324    (float2)(0x1.498000p-2f, 0x1.3c25e6p-13f),
325    (float2)(0x1.528000p-2f, 0x1.6f7f12p-12f),
326    (float2)(0x1.5c0000p-2f, 0x1.a39fbcp-18f),
327    (float2)(0x1.650000p-2f, 0x1.8fe466p-14f),
328    (float2)(0x1.6e0000p-2f, 0x1.10e6cep-13f),
329    (float2)(0x1.770000p-2f, 0x1.d2ba7ep-14f),
330    (float2)(0x1.800000p-2f, 0x1.4ac62cp-15f),
331    (float2)(0x1.888000p-2f, 0x1.a71cb8p-12f),
332    (float2)(0x1.918000p-2f, 0x1.dd448ep-13f),
333    (float2)(0x1.9a8000p-2f, 0x1.1c8f10p-21f),
334    (float2)(0x1.a30000p-2f, 0x1.bb053ep-13f),
335    (float2)(0x1.ab8000p-2f, 0x1.861e5ep-12f),
336    (float2)(0x1.b40000p-2f, 0x1.fafdcep-12f),
337    (float2)(0x1.bd0000p-2f, 0x1.e5d3cep-15f),
338    (float2)(0x1.c58000p-2f, 0x1.2fad28p-14f),
339    (float2)(0x1.ce0000p-2f, 0x1.492474p-15f),
340    (float2)(0x1.d60000p-2f, 0x1.d4f80cp-12f),
341    (float2)(0x1.de8000p-2f, 0x1.4ff510p-12f),
342    (float2)(0x1.e70000p-2f, 0x1.3550f2p-13f),
343    (float2)(0x1.ef0000p-2f, 0x1.b59ccap-12f),
344    (float2)(0x1.f78000p-2f, 0x1.42b464p-13f),
345    (float2)(0x1.ff8000p-2f, 0x1.5e66a0p-12f),
346    (float2)(0x1.038000p-1f, 0x1.f6a2e4p-11f),
347    (float2)(0x1.080000p-1f, 0x1.39e4fep-14f),
348    (float2)(0x1.0c0000p-1f, 0x1.0500d6p-13f),
349    (float2)(0x1.100000p-1f, 0x1.13b152p-13f),
350    (float2)(0x1.140000p-1f, 0x1.93f542p-14f),
351    (float2)(0x1.180000p-1f, 0x1.467b94p-16f),
352    (float2)(0x1.1b8000p-1f, 0x1.cc47a4p-11f),
353    (float2)(0x1.1f8000p-1f, 0x1.78f4c2p-11f),
354    (float2)(0x1.238000p-1f, 0x1.107508p-11f),
355    (float2)(0x1.278000p-1f, 0x1.2602c2p-12f),
356    (float2)(0x1.2b8000p-1f, 0x1.a39fbcp-20f),
357    (float2)(0x1.2f0000p-1f, 0x1.5a1d7ap-11f),
358    (float2)(0x1.330000p-1f, 0x1.3e355ap-12f),
359    (float2)(0x1.368000p-1f, 0x1.cffedap-11f),
360    (float2)(0x1.3a8000p-1f, 0x1.d9fd50p-12f),
361    (float2)(0x1.3e0000p-1f, 0x1.f64de6p-11f),
362    (float2)(0x1.420000p-1f, 0x1.d83f4cp-12f),
363    (float2)(0x1.458000p-1f, 0x1.cea628p-11f),
364    (float2)(0x1.498000p-1f, 0x1.3c25e6p-12f),
365    (float2)(0x1.4d0000p-1f, 0x1.5a96ccp-11f),
366    (float2)(0x1.510000p-1f, 0x1.18708ap-17f),
367    (float2)(0x1.548000p-1f, 0x1.374652p-12f),
368    (float2)(0x1.580000p-1f, 0x1.2089a6p-11f),
369    (float2)(0x1.5b8000p-1f, 0x1.93432cp-11f),
370    (float2)(0x1.5f0000p-1f, 0x1.f3fd06p-11f),
371    (float2)(0x1.630000p-1f, 0x1.0b8f54p-13f),
372    (float2)(0x1.668000p-1f, 0x1.004722p-12f),
373    (float2)(0x1.6a0000p-1f, 0x1.57cf2cp-12f),
374    (float2)(0x1.6d8000p-1f, 0x1.8cb53ap-12f),
375    (float2)(0x1.710000p-1f, 0x1.9f4d8ap-12f),
376    (float2)(0x1.748000p-1f, 0x1.8feb26p-12f),
377    (float2)(0x1.780000p-1f, 0x1.5edfeep-12f),
378    (float2)(0x1.7b8000p-1f, 0x1.0c7c9ap-12f),
379    (float2)(0x1.7f0000p-1f, 0x1.322182p-13f),
380    (float2)(0x1.828000p-1f, 0x1.3ab7cep-18f),
381    (float2)(0x1.858000p-1f, 0x1.a82c2cp-11f),
382    (float2)(0x1.890000p-1f, 0x1.3dd2c0p-11f),
383    (float2)(0x1.8c8000p-1f, 0x1.871da4p-12f),
384    (float2)(0x1.900000p-1f, 0x1.cc2c00p-14f),
385    (float2)(0x1.930000p-1f, 0x1.9fdb68p-11f),
386    (float2)(0x1.968000p-1f, 0x1.ed6956p-12f),
387    (float2)(0x1.9a0000p-1f, 0x1.f1a760p-14f),
388    (float2)(0x1.9d0000p-1f, 0x1.767f54p-11f),
389    (float2)(0x1.a08000p-1f, 0x1.3f6d26p-12f),
390    (float2)(0x1.a38000p-1f, 0x1.b9fce2p-11f),
391    (float2)(0x1.a70000p-1f, 0x1.8ae816p-12f),
392    (float2)(0x1.aa0000p-1f, 0x1.c23d60p-11f),
393    (float2)(0x1.ad8000p-1f, 0x1.60f388p-12f),
394    (float2)(0x1.b08000p-1f, 0x1.9049aep-11f),
395    (float2)(0x1.b40000p-1f, 0x1.8734a8p-13f),
396    (float2)(0x1.b70000p-1f, 0x1.2523d4p-11f),
397    (float2)(0x1.ba0000p-1f, 0x1.da6ce6p-11f),
398    (float2)(0x1.bd8000p-1f, 0x1.038e62p-12f),
399    (float2)(0x1.c08000p-1f, 0x1.1b511ep-11f),
400    (float2)(0x1.c38000p-1f, 0x1.a728b8p-11f),
401    (float2)(0x1.c70000p-1f, 0x1.2b5d22p-14f),
402    (float2)(0x1.ca0000p-1f, 0x1.2c6e54p-12f),
403    (float2)(0x1.cd0000p-1f, 0x1.f35064p-12f),
404    (float2)(0x1.d00000p-1f, 0x1.4fdb48p-11f),
405    (float2)(0x1.d30000p-1f, 0x1.98ec9ep-11f),
406    (float2)(0x1.d60000p-1f, 0x1.d4f80cp-11f),
407    (float2)(0x1.d98000p-1f, 0x1.0643d6p-17f),
408    (float2)(0x1.dc8000p-1f, 0x1.33567ep-14f),
409    (float2)(0x1.df8000p-1f, 0x1.e0410cp-14f),
410    (float2)(0x1.e28000p-1f, 0x1.142e0ep-13f),
411    (float2)(0x1.e58000p-1f, 0x1.063c88p-13f),
412    (float2)(0x1.e88000p-1f, 0x1.8d66c4p-14f),
413    (float2)(0x1.eb8000p-1f, 0x1.57e32ap-15f),
414    (float2)(0x1.ee0000p-1f, 0x1.ed1c6cp-11f),
415    (float2)(0x1.f10000p-1f, 0x1.b8a076p-11f),
416    (float2)(0x1.f40000p-1f, 0x1.7822f2p-11f),
417    (float2)(0x1.f70000p-1f, 0x1.2bbc3ap-11f),
418    (float2)(0x1.fa0000p-1f, 0x1.a708bap-12f),
419    (float2)(0x1.fd0000p-1f, 0x1.be4c7ep-13f),
420    (float2)(0x1.000000p+0f, 0x0.000000p+0f)
421};
422
423DECLARE_TABLE(uchar, PIBITS_TBL, ) = {
424    224, 241, 27, 193, 12, 88, 33, 116, 53, 126, 196, 126, 237, 175,
425    169, 75, 74, 41, 222, 231, 28, 244, 236, 197, 151, 175, 31,
426    235, 158, 212, 181, 168, 127, 121, 154, 253, 24, 61, 221, 38,
427    44, 159, 60, 251, 217, 180, 125, 180, 41, 104, 45, 70, 188,
428    188, 63, 96, 22, 120, 255, 95, 226, 127, 236, 160, 228, 247,
429    46, 126, 17, 114, 210, 231, 76, 13, 230, 88, 71, 230, 4, 249,
430    125, 209, 154, 192, 113, 166, 19, 18, 237, 186, 212, 215, 8,
431    162, 251, 156, 166, 196, 114, 172, 119, 248, 115, 72, 70, 39,
432    168, 187, 36, 25, 128, 75, 55, 9, 233, 184, 145, 220, 134, 21,
433    239, 122, 175, 142, 69, 249, 7, 65, 14, 241, 100, 86, 138, 109,
434    3, 119, 211, 212, 71, 95, 157, 240, 167, 84, 16, 57, 185, 13,
435    230, 139, 2, 0, 0, 0, 0, 0, 0, 0
436};
437
438// Tabulated values of sinh(i) and cosh(i) for i = 0,...,36.
439DECLARE_TABLE(float2, SINHCOSH_TBL, 37) = {
440    (float2)(0x0.000000p+0f, 0x1.000000p+0f),
441    (float2)(0x1.2cd9fcp+0f, 0x1.8b0756p+0f),
442    (float2)(0x1.d03cf6p+1f, 0x1.e18fa0p+1f),
443    (float2)(0x1.40926ep+3f, 0x1.422a4ap+3f),
444    (float2)(0x1.b4a380p+4f, 0x1.b4ee86p+4f),
445    (float2)(0x1.28d016p+6f, 0x1.28d6fcp+6f),
446    (float2)(0x1.936d22p+7f, 0x1.936e68p+7f),
447    (float2)(0x1.122876p+9f, 0x1.122894p+9f),
448    (float2)(0x1.749ea6p+10f, 0x1.749eaap+10f),
449    (float2)(0x1.fa7158p+11f, 0x1.fa7158p+11f),
450    (float2)(0x1.5829dcp+13f, 0x1.5829dep+13f),
451    (float2)(0x1.d3c448p+14f, 0x1.d3c448p+14f),
452    (float2)(0x1.3de166p+16f, 0x1.3de166p+16f),
453    (float2)(0x1.b00b5ap+17f, 0x1.b00b5ap+17f),
454    (float2)(0x1.259ac4p+19f, 0x1.259ac4p+19f),
455    (float2)(0x1.8f0ccap+20f, 0x1.8f0ccap+20f),
456    (float2)(0x1.0f2ebep+22f, 0x1.0f2ebep+22f),
457    (float2)(0x1.709348p+23f, 0x1.709348p+23f),
458    (float2)(0x1.f4f220p+24f, 0x1.f4f220p+24f),
459    (float2)(0x1.546d90p+26f, 0x1.546d90p+26f),
460    (float2)(0x1.ceb088p+27f, 0x1.ceb088p+27f),
461    (float2)(0x1.3a6e20p+29f, 0x1.3a6e20p+29f),
462    (float2)(0x1.ab5adcp+30f, 0x1.ab5adcp+30f),
463    (float2)(0x1.226af4p+32f, 0x1.226af4p+32f),
464    (float2)(0x1.8ab7fcp+33f, 0x1.8ab7fcp+33f),
465    (float2)(0x1.0c3d3ap+35f, 0x1.0c3d3ap+35f),
466    (float2)(0x1.6c9326p+36f, 0x1.6c9326p+36f),
467    (float2)(0x1.ef8230p+37f, 0x1.ef8230p+37f),
468    (float2)(0x1.50bba4p+39f, 0x1.50bba4p+39f),
469    (float2)(0x1.c9aae4p+40f, 0x1.c9aae4p+40f),
470    (float2)(0x1.370470p+42f, 0x1.370470p+42f),
471    (float2)(0x1.a6b766p+43f, 0x1.a6b766p+43f),
472    (float2)(0x1.1f43fcp+45f, 0x1.1f43fcp+45f),
473    (float2)(0x1.866f34p+46f, 0x1.866f34p+46f),
474    (float2)(0x1.0953e2p+48f, 0x1.0953e2p+48f),
475    (float2)(0x1.689e22p+49f, 0x1.689e22p+49f),
476    (float2)(0x1.ea215ap+50f, 0x1.ea215ap+50f)
477};
478
479DECLARE_TABLE(float2, CBRT_TBL, 129) = {
480    (float2)(0x1.000000p+0f, 0x0.000000p+0f),
481    (float2)(0x1.008000p+0f, 0x1.51cb0ap-11f),
482    (float2)(0x1.014000p+0f, 0x1.39221ep-12f),
483    (float2)(0x1.01c000p+0f, 0x1.e06908p-11f),
484    (float2)(0x1.028000p+0f, 0x1.1d6978p-11f),
485    (float2)(0x1.034000p+0f, 0x1.4ea1bep-13f),
486    (float2)(0x1.03c000p+0f, 0x1.833b8ep-11f),
487    (float2)(0x1.048000p+0f, 0x1.587002p-12f),
488    (float2)(0x1.050000p+0f, 0x1.ceb290p-11f),
489    (float2)(0x1.05c000p+0f, 0x1.d57f34p-12f),
490    (float2)(0x1.068000p+0f, 0x1.cc53acp-21f),
491    (float2)(0x1.070000p+0f, 0x1.0fe098p-11f),
492    (float2)(0x1.07c000p+0f, 0x1.91b586p-15f),
493    (float2)(0x1.084000p+0f, 0x1.1c362ep-11f),
494    (float2)(0x1.090000p+0f, 0x1.94398ep-15f),
495    (float2)(0x1.098000p+0f, 0x1.1055bcp-11f),
496    (float2)(0x1.0a4000p+0f, 0x1.7e63cap-19f),
497    (float2)(0x1.0ac000p+0f, 0x1.d99e1ap-12f),
498    (float2)(0x1.0b4000p+0f, 0x1.d258dep-11f),
499    (float2)(0x1.0c0000p+0f, 0x1.645962p-12f),
500    (float2)(0x1.0c8000p+0f, 0x1.8c5b0ep-11f),
501    (float2)(0x1.0d4000p+0f, 0x1.83d0c8p-13f),
502    (float2)(0x1.0dc000p+0f, 0x1.300812p-11f),
503    (float2)(0x1.0e4000p+0f, 0x1.f9a65ap-11f),
504    (float2)(0x1.0f0000p+0f, 0x1.7bbcd8p-12f),
505    (float2)(0x1.0f8000p+0f, 0x1.7cbf68p-11f),
506    (float2)(0x1.104000p+0f, 0x1.b2c166p-14f),
507    (float2)(0x1.10c000p+0f, 0x1.d56ea4p-12f),
508    (float2)(0x1.114000p+0f, 0x1.99eb32p-11f),
509    (float2)(0x1.120000p+0f, 0x1.1007a2p-13f),
510    (float2)(0x1.128000p+0f, 0x1.d212aap-12f),
511    (float2)(0x1.130000p+0f, 0x1.890f18p-11f),
512    (float2)(0x1.13c000p+0f, 0x1.2104e2p-14f),
513    (float2)(0x1.144000p+0f, 0x1.74961ep-12f),
514    (float2)(0x1.14c000p+0f, 0x1.4b9b66p-11f),
515    (float2)(0x1.154000p+0f, 0x1.d81e66p-11f),
516    (float2)(0x1.160000p+0f, 0x1.7f825cp-13f),
517    (float2)(0x1.168000p+0f, 0x1.c5dca2p-12f),
518    (float2)(0x1.170000p+0f, 0x1.6153bap-11f),
519    (float2)(0x1.178000p+0f, 0x1.db1cc2p-11f),
520    (float2)(0x1.184000p+0f, 0x1.4154b0p-13f),
521    (float2)(0x1.18c000p+0f, 0x1.821114p-12f),
522    (float2)(0x1.194000p+0f, 0x1.2d4240p-11f),
523    (float2)(0x1.19c000p+0f, 0x1.950d82p-11f),
524    (float2)(0x1.1a4000p+0f, 0x1.f8755cp-11f),
525    (float2)(0x1.1b0000p+0f, 0x1.5e12a4p-13f),
526    (float2)(0x1.1b8000p+0f, 0x1.648c38p-12f),
527    (float2)(0x1.1c0000p+0f, 0x1.08c43ep-11f),
528    (float2)(0x1.1c8000p+0f, 0x1.5b0970p-11f),
529    (float2)(0x1.1d0000p+0f, 0x1.a91fe8p-11f),
530    (float2)(0x1.1d8000p+0f, 0x1.f311b6p-11f),
531    (float2)(0x1.1e4000p+0f, 0x1.c74618p-14f),
532    (float2)(0x1.1ec000p+0f, 0x1.eabb54p-13f),
533    (float2)(0x1.1f4000p+0f, 0x1.70db14p-12f),
534    (float2)(0x1.1fc000p+0f, 0x1.e45cbcp-12f),
535    (float2)(0x1.204000p+0f, 0x1.27faa6p-11f),
536    (float2)(0x1.20c000p+0f, 0x1.59db98p-11f),
537    (float2)(0x1.214000p+0f, 0x1.87da46p-11f),
538    (float2)(0x1.21c000p+0f, 0x1.b1ffa0p-11f),
539    (float2)(0x1.224000p+0f, 0x1.d85478p-11f),
540    (float2)(0x1.22c000p+0f, 0x1.fae17ep-11f),
541    (float2)(0x1.238000p+0f, 0x1.9af40cp-15f),
542    (float2)(0x1.240000p+0f, 0x1.a6319ep-14f),
543    (float2)(0x1.248000p+0f, 0x1.30baa6p-13f),
544    (float2)(0x1.250000p+0f, 0x1.7fc362p-13f),
545    (float2)(0x1.258000p+0f, 0x1.c05362p-13f),
546    (float2)(0x1.260000p+0f, 0x1.f28a98p-13f),
547    (float2)(0x1.268000p+0f, 0x1.0b4442p-12f),
548    (float2)(0x1.270000p+0f, 0x1.16361ap-12f),
549    (float2)(0x1.278000p+0f, 0x1.1a2a2ap-12f),
550    (float2)(0x1.280000p+0f, 0x1.172f8ep-12f),
551    (float2)(0x1.288000p+0f, 0x1.0d5530p-12f),
552    (float2)(0x1.290000p+0f, 0x1.f9538ep-13f),
553    (float2)(0x1.298000p+0f, 0x1.ca77b0p-13f),
554    (float2)(0x1.2a0000p+0f, 0x1.8e336ap-13f),
555    (float2)(0x1.2a8000p+0f, 0x1.44a304p-13f),
556    (float2)(0x1.2b0000p+0f, 0x1.dbc4c8p-14f),
557    (float2)(0x1.2b8000p+0f, 0x1.141a2ap-14f),
558    (float2)(0x1.2c0000p+0f, 0x1.93e44cp-17f),
559    (float2)(0x1.2c4000p+0f, 0x1.e6e432p-11f),
560    (float2)(0x1.2cc000p+0f, 0x1.c447c6p-11f),
561    (float2)(0x1.2d4000p+0f, 0x1.9e80d8p-11f),
562    (float2)(0x1.2dc000p+0f, 0x1.7595dcp-11f),
563    (float2)(0x1.2e4000p+0f, 0x1.498d30p-11f),
564    (float2)(0x1.2ec000p+0f, 0x1.1a6d1ep-11f),
565    (float2)(0x1.2f4000p+0f, 0x1.d077bap-12f),
566    (float2)(0x1.2fc000p+0f, 0x1.65ff1ep-12f),
567    (float2)(0x1.304000p+0f, 0x1.eaf912p-13f),
568    (float2)(0x1.30c000p+0f, 0x1.fbefb8p-14f),
569    (float2)(0x1.314000p+0f, 0x1.44905ap-19f),
570    (float2)(0x1.318000p+0f, 0x1.c017e6p-11f),
571    (float2)(0x1.320000p+0f, 0x1.7bfdbep-11f),
572    (float2)(0x1.328000p+0f, 0x1.34fbc6p-11f),
573    (float2)(0x1.330000p+0f, 0x1.d62f48p-12f),
574    (float2)(0x1.338000p+0f, 0x1.3cadc6p-12f),
575    (float2)(0x1.340000p+0f, 0x1.3afc06p-13f),
576    (float2)(0x1.344000p+0f, 0x1.fc556ep-11f),
577    (float2)(0x1.34c000p+0f, 0x1.a71f84p-11f),
578    (float2)(0x1.354000p+0f, 0x1.4f2290p-11f),
579    (float2)(0x1.35c000p+0f, 0x1.e8c79cp-12f),
580    (float2)(0x1.364000p+0f, 0x1.2dd0d8p-12f),
581    (float2)(0x1.36c000p+0f, 0x1.b5ac2ep-14f),
582    (float2)(0x1.370000p+0f, 0x1.d3d02ap-11f),
583    (float2)(0x1.378000p+0f, 0x1.6e3d58p-11f),
584    (float2)(0x1.380000p+0f, 0x1.060200p-11f),
585    (float2)(0x1.388000p+0f, 0x1.364608p-12f),
586    (float2)(0x1.390000p+0f, 0x1.6d29b6p-14f),
587    (float2)(0x1.394000p+0f, 0x1.bd8d5ep-11f),
588    (float2)(0x1.39c000p+0f, 0x1.4ae030p-11f),
589    (float2)(0x1.3a4000p+0f, 0x1.ab44b2p-12f),
590    (float2)(0x1.3ac000p+0f, 0x1.7761cep-13f),
591    (float2)(0x1.3b0000p+0f, 0x1.e38710p-11f),
592    (float2)(0x1.3b8000p+0f, 0x1.66b2b0p-11f),
593    (float2)(0x1.3c0000p+0f, 0x1.cebf96p-12f),
594    (float2)(0x1.3c8000p+0f, 0x1.964b20p-13f),
595    (float2)(0x1.3cc000p+0f, 0x1.e15004p-11f),
596    (float2)(0x1.3d4000p+0f, 0x1.5a9bcep-11f),
597    (float2)(0x1.3dc000p+0f, 0x1.a2f4d8p-12f),
598    (float2)(0x1.3e4000p+0f, 0x1.17c056p-13f),
599    (float2)(0x1.3e8000p+0f, 0x1.b800f8p-11f),
600    (float2)(0x1.3f0000p+0f, 0x1.27b132p-11f),
601    (float2)(0x1.3f8000p+0f, 0x1.2a09b8p-12f),
602    (float2)(0x1.400000p+0f, 0x0.000000p+0f),
603    (float2)(0x1.404000p+0f, 0x1.68a69cp-11f),
604    (float2)(0x1.40c000p+0f, 0x1.9df950p-12f),
605    (float2)(0x1.414000p+0f, 0x1.983050p-14f),
606    (float2)(0x1.418000p+0f, 0x1.94c6a4p-11f),
607    (float2)(0x1.420000p+0f, 0x1.e88494p-12f),
608    (float2)(0x1.428000p+0f, 0x1.45f31ap-13f)
609};
610
611TABLE_FUNCTION(float2, LOGE_TBL, loge_tbl);
612TABLE_FUNCTION(float, LOG_INV_TBL, log_inv_tbl);
613TABLE_FUNCTION(float2, LOG2_TBL, log2_tbl);
614
615uint4 TABLE_MANGLE(pibits_tbl)(size_t idx) {
616    return *(__constant uint4 *)(PIBITS_TBL + idx);
617}
618
619TABLE_FUNCTION(float2, SINHCOSH_TBL, sinhcosh_tbl);
620TABLE_FUNCTION(float2, CBRT_TBL, cbrt_tbl);
621
622#ifdef cl_khr_fp64
623
624DECLARE_TABLE(double2, LN_TBL, 65) = {
625    (double2)(0x0.0000000000000p+0, 0x0.0000000000000p+0),
626    (double2)(0x1.fc0a800000000p-7, 0x1.61f807c79f3dbp-28),
627    (double2)(0x1.f829800000000p-6, 0x1.873c1980267c8p-25),
628    (double2)(0x1.7745800000000p-5, 0x1.ec65b9f88c69ep-26),
629    (double2)(0x1.f0a3000000000p-5, 0x1.8022c54cc2f99p-26),
630    (double2)(0x1.341d700000000p-4, 0x1.2c37a3a125330p-25),
631    (double2)(0x1.6f0d200000000p-4, 0x1.15cad69737c93p-25),
632    (double2)(0x1.a926d00000000p-4, 0x1.d256ab1b285e9p-27),
633    (double2)(0x1.e270700000000p-4, 0x1.b8abcb97a7aa2p-26),
634    (double2)(0x1.0d77e00000000p-3, 0x1.f34239659a5dcp-25),
635    (double2)(0x1.2955280000000p-3, 0x1.e07fd48d30177p-25),
636    (double2)(0x1.44d2b00000000p-3, 0x1.b32df4799f4f6p-25),
637    (double2)(0x1.5ff3000000000p-3, 0x1.c29e4f4f21cf8p-25),
638    (double2)(0x1.7ab8900000000p-3, 0x1.086c848df1b59p-30),
639    (double2)(0x1.9525a80000000p-3, 0x1.cf456b4764130p-27),
640    (double2)(0x1.af3c900000000p-3, 0x1.3a02ffcb63398p-25),
641    (double2)(0x1.c8ff780000000p-3, 0x1.1e6a6886b0976p-25),
642    (double2)(0x1.e270700000000p-3, 0x1.b8abcb97a7aa2p-25),
643    (double2)(0x1.fb91800000000p-3, 0x1.b578f8aa35552p-25),
644    (double2)(0x1.0a324c0000000p-2, 0x1.139c871afb9fcp-25),
645    (double2)(0x1.1675c80000000p-2, 0x1.5d5d30701ce64p-25),
646    (double2)(0x1.22941c0000000p-2, 0x1.de7bcb2d12142p-25),
647    (double2)(0x1.2e8e280000000p-2, 0x1.d708e984e1664p-25),
648    (double2)(0x1.3a64c40000000p-2, 0x1.56945e9c72f36p-26),
649    (double2)(0x1.4618bc0000000p-2, 0x1.0e2f613e85bdap-29),
650    (double2)(0x1.51aad80000000p-2, 0x1.cb7e0b42724f6p-28),
651    (double2)(0x1.5d1bd80000000p-2, 0x1.fac04e52846c7p-25),
652    (double2)(0x1.686c800000000p-2, 0x1.e9b14aec442bep-26),
653    (double2)(0x1.739d7c0000000p-2, 0x1.b5de8034e7126p-25),
654    (double2)(0x1.7eaf800000000p-2, 0x1.dc157e1b259d3p-25),
655    (double2)(0x1.89a3380000000p-2, 0x1.b05096ad69c62p-28),
656    (double2)(0x1.9479400000000p-2, 0x1.c2116faba4cddp-26),
657    (double2)(0x1.9f323c0000000p-2, 0x1.65fcc25f95b47p-25),
658    (double2)(0x1.a9cec80000000p-2, 0x1.a9a08498d4850p-26),
659    (double2)(0x1.b44f740000000p-2, 0x1.de647b1465f77p-25),
660    (double2)(0x1.beb4d80000000p-2, 0x1.da71b7bf7861dp-26),
661    (double2)(0x1.c8ff7c0000000p-2, 0x1.e6a6886b09760p-28),
662    (double2)(0x1.d32fe40000000p-2, 0x1.f0075eab0ef64p-25),
663    (double2)(0x1.dd46a00000000p-2, 0x1.3071282fb989bp-28),
664    (double2)(0x1.e744240000000p-2, 0x1.0eb43c3f1bed2p-25),
665    (double2)(0x1.f128f40000000p-2, 0x1.faf06ecb35c84p-26),
666    (double2)(0x1.faf5880000000p-2, 0x1.ef1e63db35f68p-27),
667    (double2)(0x1.02552a0000000p-1, 0x1.69743fb1a71a5p-27),
668    (double2)(0x1.0723e40000000p-1, 0x1.c1cdf404e5796p-25),
669    (double2)(0x1.0be72e0000000p-1, 0x1.094aa0ada625ep-27),
670    (double2)(0x1.109f380000000p-1, 0x1.e2d4c96fde3ecp-25),
671    (double2)(0x1.154c3c0000000p-1, 0x1.2f4d5e9a98f34p-25),
672    (double2)(0x1.19ee6a0000000p-1, 0x1.467c96ecc5cbep-25),
673    (double2)(0x1.1e85f40000000p-1, 0x1.e7040d03dec5ap-25),
674    (double2)(0x1.23130c0000000p-1, 0x1.7bebf4282de36p-25),
675    (double2)(0x1.2795e00000000p-1, 0x1.289b11aeb783fp-25),
676    (double2)(0x1.2c0e9e0000000p-1, 0x1.a891d1772f538p-26),
677    (double2)(0x1.307d720000000p-1, 0x1.34f10be1fb591p-25),
678    (double2)(0x1.34e2880000000p-1, 0x1.d9ce1d316eb93p-25),
679    (double2)(0x1.393e0c0000000p-1, 0x1.3562a19a9c442p-25),
680    (double2)(0x1.3d90260000000p-1, 0x1.4e2adf548084cp-26),
681    (double2)(0x1.41d8fe0000000p-1, 0x1.08ce55cc8c97ap-26),
682    (double2)(0x1.4618bc0000000p-1, 0x1.0e2f613e85bdap-28),
683    (double2)(0x1.4a4f840000000p-1, 0x1.db03ebb0227bfp-25),
684    (double2)(0x1.4e7d800000000p-1, 0x1.1b75bb09cb098p-25),
685    (double2)(0x1.52a2d20000000p-1, 0x1.96f16abb9df22p-27),
686    (double2)(0x1.56bf9c0000000p-1, 0x1.5b3f399411c62p-25),
687    (double2)(0x1.5ad4040000000p-1, 0x1.86b3e59f65355p-26),
688    (double2)(0x1.5ee02a0000000p-1, 0x1.2482ceae1ac12p-26),
689    (double2)(0x1.62e42e0000000p-1, 0x1.efa39ef35793cp-25),
690};
691
692TABLE_FUNCTION(double2, LN_TBL, ln_tbl);
693
694
695// Arrays atan_jby256_lead and atan_jby256_tail contain
696// leading and trailing parts respectively of precomputed
697// values of atan(j/256), for j = 16, 17, ..., 256.
698// atan_jby256_lead contains the first 21 bits of precision,
699// and atan_jby256_tail contains a further 53 bits precision.
700
701DECLARE_TABLE(double2, ATAN_JBY256_TBL, 241) = {
702    (double2)(0x1.ff55b00000000p-5, 0x1.6e59fbd38db2cp-26),
703    (double2)(0x1.0f99e00000000p-4, 0x1.4e3aa54dedf96p-25),
704    (double2)(0x1.1f86d00000000p-4, 0x1.7e105ab1bda88p-25),
705    (double2)(0x1.2f71900000000p-4, 0x1.8c5254d013fd0p-27),
706    (double2)(0x1.3f59f00000000p-4, 0x1.cf8ab3ad62670p-29),
707    (double2)(0x1.4f3fd00000000p-4, 0x1.9dca4bec80468p-26),
708    (double2)(0x1.5f23200000000p-4, 0x1.3f4b5ec98a8dap-26),
709    (double2)(0x1.6f03b00000000p-4, 0x1.b9d49619d81fep-25),
710    (double2)(0x1.7ee1800000000p-4, 0x1.3017887460934p-27),
711    (double2)(0x1.8ebc500000000p-4, 0x1.11e3eca0b9944p-26),
712    (double2)(0x1.9e94100000000p-4, 0x1.4f3f73c5a332ep-26),
713    (double2)(0x1.ae68a00000000p-4, 0x1.c71c8ae0e00a6p-26),
714    (double2)(0x1.be39e00000000p-4, 0x1.7cde0f86fbdc7p-25),
715    (double2)(0x1.ce07c00000000p-4, 0x1.70f328c889c72p-26),
716    (double2)(0x1.ddd2100000000p-4, 0x1.c07ae9b994efep-26),
717    (double2)(0x1.ed98c00000000p-4, 0x1.0c8021d7b1698p-27),
718    (double2)(0x1.fd5ba00000000p-4, 0x1.35585edb8cb22p-25),
719    (double2)(0x1.068d500000000p-3, 0x1.0842567b30e96p-24),
720    (double2)(0x1.0e6ad00000000p-3, 0x1.99e811031472ep-24),
721    (double2)(0x1.1646500000000p-3, 0x1.041821416bceep-25),
722    (double2)(0x1.1e1fa00000000p-3, 0x1.f6086e4dc96f4p-24),
723    (double2)(0x1.25f6e00000000p-3, 0x1.71a535c5f1b58p-27),
724    (double2)(0x1.2dcbd00000000p-3, 0x1.65f743fe63ca1p-24),
725    (double2)(0x1.359e800000000p-3, 0x1.dbd733472d014p-24),
726    (double2)(0x1.3d6ee00000000p-3, 0x1.d18cc4d8b0d1dp-24),
727    (double2)(0x1.453ce00000000p-3, 0x1.8c12553c8fb29p-24),
728    (double2)(0x1.4d08700000000p-3, 0x1.53b49e2e8f991p-24),
729    (double2)(0x1.54d1800000000p-3, 0x1.7422ae148c141p-24),
730    (double2)(0x1.5c98100000000p-3, 0x1.e3ec269df56a8p-27),
731    (double2)(0x1.645bf00000000p-3, 0x1.ff6754e7e0ac9p-24),
732    (double2)(0x1.6c1d400000000p-3, 0x1.131267b1b5aadp-24),
733    (double2)(0x1.73dbd00000000p-3, 0x1.d14fa403a94bcp-24),
734    (double2)(0x1.7b97b00000000p-3, 0x1.2f396c089a3d8p-25),
735    (double2)(0x1.8350b00000000p-3, 0x1.c731d78fa95bbp-24),
736    (double2)(0x1.8b06e00000000p-3, 0x1.c50f385177399p-24),
737    (double2)(0x1.92ba300000000p-3, 0x1.f41409c6f2c20p-25),
738    (double2)(0x1.9a6a800000000p-3, 0x1.d2d90c4c39ec0p-24),
739    (double2)(0x1.a217e00000000p-3, 0x1.80420696f2106p-25),
740    (double2)(0x1.a9c2300000000p-3, 0x1.b40327943a2e8p-27),
741    (double2)(0x1.b169600000000p-3, 0x1.5d35e02f3d2a2p-25),
742    (double2)(0x1.b90d700000000p-3, 0x1.4a498288117b0p-25),
743    (double2)(0x1.c0ae500000000p-3, 0x1.35da119afb324p-25),
744    (double2)(0x1.c84bf00000000p-3, 0x1.14e85cdb9a908p-24),
745    (double2)(0x1.cfe6500000000p-3, 0x1.38754e5547b9ap-25),
746    (double2)(0x1.d77d500000000p-3, 0x1.be40ae6ce3246p-24),
747    (double2)(0x1.df11000000000p-3, 0x1.0c993b3bea7e7p-24),
748    (double2)(0x1.e6a1400000000p-3, 0x1.1d2dd89ac3359p-24),
749    (double2)(0x1.ee2e100000000p-3, 0x1.1476603332c46p-25),
750    (double2)(0x1.f5b7500000000p-3, 0x1.f25901bac55b7p-24),
751    (double2)(0x1.fd3d100000000p-3, 0x1.f881b7c826e28p-24),
752    (double2)(0x1.025fa00000000p-2, 0x1.441996d698d20p-24),
753    (double2)(0x1.061ee00000000p-2, 0x1.407ac521ea089p-23),
754    (double2)(0x1.09dc500000000p-2, 0x1.2fb0c6c4b1723p-23),
755    (double2)(0x1.0d97e00000000p-2, 0x1.ca135966a3e18p-23),
756    (double2)(0x1.1151a00000000p-2, 0x1.b1218e4d646e4p-25),
757    (double2)(0x1.1509700000000p-2, 0x1.d4e72a350d288p-25),
758    (double2)(0x1.18bf500000000p-2, 0x1.4617e2f04c329p-23),
759    (double2)(0x1.1c73500000000p-2, 0x1.096ec41e82650p-25),
760    (double2)(0x1.2025500000000p-2, 0x1.9f91f25773e6ep-24),
761    (double2)(0x1.23d5600000000p-2, 0x1.59c0820f1d674p-25),
762    (double2)(0x1.2783700000000p-2, 0x1.02bf7a2df1064p-25),
763    (double2)(0x1.2b2f700000000p-2, 0x1.fb36bfc40508fp-23),
764    (double2)(0x1.2ed9800000000p-2, 0x1.ea08f3f8dc892p-24),
765    (double2)(0x1.3281800000000p-2, 0x1.3ed6254656a0ep-24),
766    (double2)(0x1.3627700000000p-2, 0x1.b83f5e5e69c58p-25),
767    (double2)(0x1.39cb400000000p-2, 0x1.d6ec2af768592p-23),
768    (double2)(0x1.3d6d100000000p-2, 0x1.493889a226f94p-25),
769    (double2)(0x1.410cb00000000p-2, 0x1.5ad8fa65279bap-23),
770    (double2)(0x1.44aa400000000p-2, 0x1.b615784d45434p-25),
771    (double2)(0x1.4845a00000000p-2, 0x1.09a184368f145p-23),
772    (double2)(0x1.4bdee00000000p-2, 0x1.61a2439b0d91cp-24),
773    (double2)(0x1.4f75f00000000p-2, 0x1.ce1a65e39a978p-24),
774    (double2)(0x1.530ad00000000p-2, 0x1.32a39a93b6a66p-23),
775    (double2)(0x1.569d800000000p-2, 0x1.1c3699af804e7p-23),
776    (double2)(0x1.5a2e000000000p-2, 0x1.75e0f4e44ede8p-26),
777    (double2)(0x1.5dbc300000000p-2, 0x1.f77ced1a7a83bp-23),
778    (double2)(0x1.6148400000000p-2, 0x1.84e7f0cb1b500p-29),
779    (double2)(0x1.64d1f00000000p-2, 0x1.ec6b838b02dfep-23),
780    (double2)(0x1.6859700000000p-2, 0x1.3ebf4dfbeda87p-23),
781    (double2)(0x1.6bdea00000000p-2, 0x1.9397aed9cb475p-23),
782    (double2)(0x1.6f61900000000p-2, 0x1.07937bc239c54p-24),
783    (double2)(0x1.72e2200000000p-2, 0x1.aa754553131b6p-23),
784    (double2)(0x1.7660700000000p-2, 0x1.4a05d407c45dcp-24),
785    (double2)(0x1.79dc600000000p-2, 0x1.132231a206dd0p-23),
786    (double2)(0x1.7d56000000000p-2, 0x1.2d8ecfdd69c88p-24),
787    (double2)(0x1.80cd400000000p-2, 0x1.a852c74218606p-24),
788    (double2)(0x1.8442200000000p-2, 0x1.71bf2baeebb50p-23),
789    (double2)(0x1.87b4b00000000p-2, 0x1.83d7db7491820p-27),
790    (double2)(0x1.8b24d00000000p-2, 0x1.ca50d92b6da14p-25),
791    (double2)(0x1.8e92900000000p-2, 0x1.6f5cde8530298p-26),
792    (double2)(0x1.91fde00000000p-2, 0x1.f343198910740p-24),
793    (double2)(0x1.9566d00000000p-2, 0x1.0e8d241ccd80ap-24),
794    (double2)(0x1.98cd500000000p-2, 0x1.1535ac619e6c8p-24),
795    (double2)(0x1.9c31600000000p-2, 0x1.7316041c36cd2p-24),
796    (double2)(0x1.9f93000000000p-2, 0x1.985a000637d8ep-24),
797    (double2)(0x1.a2f2300000000p-2, 0x1.f2f29858c0a68p-25),
798    (double2)(0x1.a64ee00000000p-2, 0x1.879847f96d909p-23),
799    (double2)(0x1.a9a9200000000p-2, 0x1.ab3d319e12e42p-23),
800    (double2)(0x1.ad00f00000000p-2, 0x1.5088162dfc4c2p-24),
801    (double2)(0x1.b056400000000p-2, 0x1.05749a1cd9d8cp-25),
802    (double2)(0x1.b3a9100000000p-2, 0x1.da65c6c6b8618p-26),
803    (double2)(0x1.b6f9600000000p-2, 0x1.739bf7df1ad64p-25),
804    (double2)(0x1.ba47300000000p-2, 0x1.bc31252aa3340p-25),
805    (double2)(0x1.bd92800000000p-2, 0x1.e528191ad3aa8p-26),
806    (double2)(0x1.c0db400000000p-2, 0x1.929d93df19f18p-23),
807    (double2)(0x1.c421900000000p-2, 0x1.ff11eb693a080p-26),
808    (double2)(0x1.c765500000000p-2, 0x1.55ae3f145a3a0p-27),
809    (double2)(0x1.caa6800000000p-2, 0x1.cbcd8c6c0ca82p-24),
810    (double2)(0x1.cde5300000000p-2, 0x1.0cb04d425d304p-24),
811    (double2)(0x1.d121500000000p-2, 0x1.9adfcab5be678p-24),
812    (double2)(0x1.d45ae00000000p-2, 0x1.93d90c5662508p-23),
813    (double2)(0x1.d791f00000000p-2, 0x1.68489bd35ff40p-24),
814    (double2)(0x1.dac6700000000p-2, 0x1.586ed3da2b7e0p-28),
815    (double2)(0x1.ddf8500000000p-2, 0x1.7604d2e850eeep-23),
816    (double2)(0x1.e127b00000000p-2, 0x1.ac1d12bfb53d8p-24),
817    (double2)(0x1.e454800000000p-2, 0x1.9b3d468274740p-28),
818    (double2)(0x1.e77eb00000000p-2, 0x1.fc5d68d10e53cp-24),
819    (double2)(0x1.eaa6500000000p-2, 0x1.8f9e51884becbp-23),
820    (double2)(0x1.edcb600000000p-2, 0x1.a87f0869c06d1p-23),
821    (double2)(0x1.f0ede00000000p-2, 0x1.31e7279f685fap-23),
822    (double2)(0x1.f40dd00000000p-2, 0x1.6a8282f9719b0p-27),
823    (double2)(0x1.f72b200000000p-2, 0x1.0d2724a8a44e0p-25),
824    (double2)(0x1.fa45d00000000p-2, 0x1.a60524b11ad4ep-23),
825    (double2)(0x1.fd5e000000000p-2, 0x1.75fdf832750f0p-26),
826    (double2)(0x1.0039c00000000p-1, 0x1.cf06902e4cd36p-23),
827    (double2)(0x1.01c3400000000p-1, 0x1.e82422d4f6d10p-25),
828    (double2)(0x1.034b700000000p-1, 0x1.24a091063e6c0p-26),
829    (double2)(0x1.04d2500000000p-1, 0x1.8a1a172dc6f38p-24),
830    (double2)(0x1.0657e00000000p-1, 0x1.29b6619f8a92dp-22),
831    (double2)(0x1.07dc300000000p-1, 0x1.9274d9c1b70c8p-24),
832    (double2)(0x1.095f300000000p-1, 0x1.0c34b1fbb7930p-26),
833    (double2)(0x1.0ae0e00000000p-1, 0x1.639866c20eb50p-25),
834    (double2)(0x1.0c61400000000p-1, 0x1.6d6d0f6832e9ep-23),
835    (double2)(0x1.0de0500000000p-1, 0x1.af54def99f25ep-22),
836    (double2)(0x1.0f5e200000000p-1, 0x1.16cfc52a00262p-22),
837    (double2)(0x1.10daa00000000p-1, 0x1.dcc1e83569c32p-23),
838    (double2)(0x1.1255d00000000p-1, 0x1.37f7a551ed425p-22),
839    (double2)(0x1.13cfb00000000p-1, 0x1.f6360adc98887p-22),
840    (double2)(0x1.1548500000000p-1, 0x1.2c6ec8d35a2c1p-22),
841    (double2)(0x1.16bfa00000000p-1, 0x1.bd44df84cb036p-23),
842    (double2)(0x1.1835a00000000p-1, 0x1.117cf826e310ep-22),
843    (double2)(0x1.19aa500000000p-1, 0x1.ca533f332cfc9p-22),
844    (double2)(0x1.1b1dc00000000p-1, 0x1.0f208509dbc2ep-22),
845    (double2)(0x1.1c8fe00000000p-1, 0x1.cd07d93c945dep-23),
846    (double2)(0x1.1e00b00000000p-1, 0x1.57bdfd67e6d72p-22),
847    (double2)(0x1.1f70400000000p-1, 0x1.aab89c516c658p-24),
848    (double2)(0x1.20de800000000p-1, 0x1.3e823b1a1b8a0p-25),
849    (double2)(0x1.224b700000000p-1, 0x1.307464a9d6d3cp-23),
850    (double2)(0x1.23b7100000000p-1, 0x1.c5993cd438843p-22),
851    (double2)(0x1.2521700000000p-1, 0x1.ba2fca02ab554p-22),
852    (double2)(0x1.268a900000000p-1, 0x1.01a5b6983a268p-23),
853    (double2)(0x1.27f2600000000p-1, 0x1.273d1b350efc8p-25),
854    (double2)(0x1.2958e00000000p-1, 0x1.64c238c37b0c6p-23),
855    (double2)(0x1.2abe200000000p-1, 0x1.aded07370a300p-25),
856    (double2)(0x1.2c22100000000p-1, 0x1.78091197eb47ep-23),
857    (double2)(0x1.2d84c00000000p-1, 0x1.4b0f245e0dabcp-24),
858    (double2)(0x1.2ee6200000000p-1, 0x1.080d9794e2eafp-22),
859    (double2)(0x1.3046400000000p-1, 0x1.d4ec242b60c76p-23),
860    (double2)(0x1.31a5200000000p-1, 0x1.221d2f940caa0p-27),
861    (double2)(0x1.3302b00000000p-1, 0x1.cdbc42b2bba5cp-24),
862    (double2)(0x1.345f000000000p-1, 0x1.cce37bb440840p-25),
863    (double2)(0x1.35ba000000000p-1, 0x1.6c1d999cf1dd0p-22),
864    (double2)(0x1.3713d00000000p-1, 0x1.bed8a07eb0870p-26),
865    (double2)(0x1.386c500000000p-1, 0x1.69ed88f490e3cp-24),
866    (double2)(0x1.39c3900000000p-1, 0x1.cd41719b73ef0p-25),
867    (double2)(0x1.3b19800000000p-1, 0x1.cbc4ac95b41b7p-22),
868    (double2)(0x1.3c6e400000000p-1, 0x1.238f1b890f5d7p-22),
869    (double2)(0x1.3dc1c00000000p-1, 0x1.50c4282259cc4p-24),
870    (double2)(0x1.3f13f00000000p-1, 0x1.713d2de87b3e2p-22),
871    (double2)(0x1.4064f00000000p-1, 0x1.1d5a7d2255276p-23),
872    (double2)(0x1.41b4a00000000p-1, 0x1.c0dfd48227ac1p-22),
873    (double2)(0x1.4303200000000p-1, 0x1.1c964dab76753p-22),
874    (double2)(0x1.4450600000000p-1, 0x1.6de56d5704496p-23),
875    (double2)(0x1.459c600000000p-1, 0x1.4aeb71fd19968p-23),
876    (double2)(0x1.46e7200000000p-1, 0x1.fbf91c57b1918p-23),
877    (double2)(0x1.4830a00000000p-1, 0x1.d6bef7fbe5d9ap-22),
878    (double2)(0x1.4978f00000000p-1, 0x1.464d3dc249066p-22),
879    (double2)(0x1.4ac0000000000p-1, 0x1.638e2ec4d9073p-22),
880    (double2)(0x1.4c05e00000000p-1, 0x1.16f4a7247ea7cp-24),
881    (double2)(0x1.4d4a800000000p-1, 0x1.1a0a740f1d440p-28),
882    (double2)(0x1.4e8de00000000p-1, 0x1.6edbb0114a33cp-23),
883    (double2)(0x1.4fd0100000000p-1, 0x1.dbee8bf1d513cp-24),
884    (double2)(0x1.5111000000000p-1, 0x1.5b8bdb0248f73p-22),
885    (double2)(0x1.5250c00000000p-1, 0x1.7de3d3f5eac64p-22),
886    (double2)(0x1.538f500000000p-1, 0x1.ee24187ae448ap-23),
887    (double2)(0x1.54cca00000000p-1, 0x1.e06c591ec5192p-22),
888    (double2)(0x1.5608d00000000p-1, 0x1.4e3861a332738p-24),
889    (double2)(0x1.5743c00000000p-1, 0x1.a9599dcc2bfe4p-24),
890    (double2)(0x1.587d800000000p-1, 0x1.f732fbad43468p-25),
891    (double2)(0x1.59b6000000000p-1, 0x1.eb9f573b727d9p-22),
892    (double2)(0x1.5aed600000000p-1, 0x1.8b212a2eb9897p-22),
893    (double2)(0x1.5c23900000000p-1, 0x1.384884c167215p-22),
894    (double2)(0x1.5d58900000000p-1, 0x1.0e2d363020051p-22),
895    (double2)(0x1.5e8c600000000p-1, 0x1.2820879fbd022p-22),
896    (double2)(0x1.5fbf000000000p-1, 0x1.a1ab9893e4b30p-22),
897    (double2)(0x1.60f0800000000p-1, 0x1.2d1b817a24478p-23),
898    (double2)(0x1.6220d00000000p-1, 0x1.15d7b8ded4878p-25),
899    (double2)(0x1.634ff00000000p-1, 0x1.8968f9db3a5e4p-24),
900    (double2)(0x1.647de00000000p-1, 0x1.71c4171fe135fp-22),
901    (double2)(0x1.65aab00000000p-1, 0x1.6d80f605d0d8cp-22),
902    (double2)(0x1.66d6600000000p-1, 0x1.c91f043691590p-24),
903    (double2)(0x1.6800e00000000p-1, 0x1.39f8a15fce2b2p-23),
904    (double2)(0x1.692a400000000p-1, 0x1.55beda9d94b80p-27),
905    (double2)(0x1.6a52700000000p-1, 0x1.b12c15d60949ap-23),
906    (double2)(0x1.6b79800000000p-1, 0x1.24167b312bfe3p-22),
907    (double2)(0x1.6c9f700000000p-1, 0x1.0ab8633070277p-22),
908    (double2)(0x1.6dc4400000000p-1, 0x1.54554ebbc80eep-23),
909    (double2)(0x1.6ee7f00000000p-1, 0x1.0204aef5a4bb8p-25),
910    (double2)(0x1.700a700000000p-1, 0x1.8af08c679cf2cp-22),
911    (double2)(0x1.712be00000000p-1, 0x1.0852a330ae6c8p-22),
912    (double2)(0x1.724c300000000p-1, 0x1.6d3eb9ec32916p-23),
913    (double2)(0x1.736b600000000p-1, 0x1.685cb7fcbbafep-23),
914    (double2)(0x1.7489700000000p-1, 0x1.1f751c1e0bd95p-22),
915    (double2)(0x1.75a6700000000p-1, 0x1.705b1b0f72560p-26),
916    (double2)(0x1.76c2400000000p-1, 0x1.b98d8d808ca92p-22),
917    (double2)(0x1.77dd100000000p-1, 0x1.2ea22c75cc980p-25),
918    (double2)(0x1.78f6b00000000p-1, 0x1.7aba62bca0350p-22),
919    (double2)(0x1.7a0f400000000p-1, 0x1.d73833442278cp-22),
920    (double2)(0x1.7b26c00000000p-1, 0x1.5a5ca1fb18bf9p-22),
921    (double2)(0x1.7c3d300000000p-1, 0x1.1a6092b6ecf28p-25),
922    (double2)(0x1.7d52800000000p-1, 0x1.44fd049aac104p-24),
923    (double2)(0x1.7e66c00000000p-1, 0x1.c114fd8df5180p-29),
924    (double2)(0x1.7f79e00000000p-1, 0x1.5972f130feae5p-22),
925    (double2)(0x1.808c000000000p-1, 0x1.ca034a55fe198p-24),
926    (double2)(0x1.819d000000000p-1, 0x1.6e2b149990227p-22),
927    (double2)(0x1.82ad000000000p-1, 0x1.b00000294592cp-24),
928    (double2)(0x1.83bbe00000000p-1, 0x1.8b9bdc442620ep-22),
929    (double2)(0x1.84c9c00000000p-1, 0x1.d94fdfabf3e4ep-23),
930    (double2)(0x1.85d6900000000p-1, 0x1.5db30b145ad9ap-23),
931    (double2)(0x1.86e2500000000p-1, 0x1.e3e1eb95022b0p-23),
932    (double2)(0x1.87ed000000000p-1, 0x1.d5b8b45442bd6p-22),
933    (double2)(0x1.88f6b00000000p-1, 0x1.7a046231ecd2ep-22),
934    (double2)(0x1.89ff500000000p-1, 0x1.feafe3ef55232p-22),
935    (double2)(0x1.8b06f00000000p-1, 0x1.839e7bfd78267p-22),
936    (double2)(0x1.8c0d900000000p-1, 0x1.45cf49d6fa900p-25),
937    (double2)(0x1.8d13200000000p-1, 0x1.be3132b27f380p-27),
938    (double2)(0x1.8e17a00000000p-1, 0x1.533980bb84f9fp-22),
939    (double2)(0x1.8f1b300000000p-1, 0x1.889e2ce3ba390p-26),
940    (double2)(0x1.901db00000000p-1, 0x1.f7778c3ad0cc8p-24),
941    (double2)(0x1.911f300000000p-1, 0x1.46660cec4eba2p-23),
942    (double2)(0x1.921fb00000000p-1, 0x1.5110b4611a626p-23),
943};
944
945DECLARE_TABLE(double2, TWO_TO_JBY64_EP, 64) = {
946    (double2)(0x1.0000000000000p+0, 0x0.0000000000000p+0),
947    (double2)(0x1.02c9a30000000p+0, 0x1.cef00c1dcdef9p-25),
948    (double2)(0x1.059b0d0000000p+0, 0x1.8ac2ba1d73e2ap-27),
949    (double2)(0x1.0874510000000p+0, 0x1.0eb37901186bep-25),
950    (double2)(0x1.0b55860000000p+0, 0x1.9f3121ec53172p-25),
951    (double2)(0x1.0e3ec30000000p+0, 0x1.69e8d10103a17p-27),
952    (double2)(0x1.11301d0000000p+0, 0x1.25b50a4ebbf1ap-32),
953    (double2)(0x1.1429aa0000000p+0, 0x1.d525bbf668203p-25),
954    (double2)(0x1.172b830000000p+0, 0x1.8faa2f5b9bef9p-25),
955    (double2)(0x1.1a35be0000000p+0, 0x1.6df96ea796d31p-25),
956    (double2)(0x1.1d48730000000p+0, 0x1.68b9aa7805b80p-28),
957    (double2)(0x1.2063b80000000p+0, 0x1.0c519ac771dd6p-25),
958    (double2)(0x1.2387a60000000p+0, 0x1.ceac470cd83f5p-25),
959    (double2)(0x1.26b4560000000p+0, 0x1.789f37495e99cp-26),
960    (double2)(0x1.29e9df0000000p+0, 0x1.47f7b84b09745p-26),
961    (double2)(0x1.2d285a0000000p+0, 0x1.b900c2d002475p-26),
962    (double2)(0x1.306fe00000000p+0, 0x1.4636e2a5bd1abp-25),
963    (double2)(0x1.33c08b0000000p+0, 0x1.320b7fa64e430p-27),
964    (double2)(0x1.371a730000000p+0, 0x1.ceaa72a9c5154p-26),
965    (double2)(0x1.3a7db30000000p+0, 0x1.3967fdba86f24p-26),
966    (double2)(0x1.3dea640000000p+0, 0x1.82468446b6824p-25),
967    (double2)(0x1.4160a20000000p+0, 0x1.f72e29f84325bp-28),
968    (double2)(0x1.44e0860000000p+0, 0x1.8624b40c4dbd0p-30),
969    (double2)(0x1.486a2b0000000p+0, 0x1.704f3404f068ep-26),
970    (double2)(0x1.4bfdad0000000p+0, 0x1.4d8a89c750e5ep-26),
971    (double2)(0x1.4f9b270000000p+0, 0x1.a74b29ab4cf62p-26),
972    (double2)(0x1.5342b50000000p+0, 0x1.a753e077c2a0fp-26),
973    (double2)(0x1.56f4730000000p+0, 0x1.ad49f699bb2c0p-26),
974    (double2)(0x1.5ab07d0000000p+0, 0x1.a90a852b19260p-25),
975    (double2)(0x1.5e76f10000000p+0, 0x1.6b48521ba6f93p-26),
976    (double2)(0x1.6247eb0000000p+0, 0x1.d2ac258f87d03p-31),
977    (double2)(0x1.6623880000000p+0, 0x1.2a91124893ecfp-27),
978    (double2)(0x1.6a09e60000000p+0, 0x1.9fcef32422cbep-26),
979    (double2)(0x1.6dfb230000000p+0, 0x1.8ca345de441c5p-25),
980    (double2)(0x1.71f75e0000000p+0, 0x1.1d8bee7ba46e1p-25),
981    (double2)(0x1.75feb50000000p+0, 0x1.9099f22fdba6ap-26),
982    (double2)(0x1.7a11470000000p+0, 0x1.f580c36bea881p-27),
983    (double2)(0x1.7e2f330000000p+0, 0x1.b3d398841740ap-26),
984    (double2)(0x1.8258990000000p+0, 0x1.2999c25159f11p-25),
985    (double2)(0x1.868d990000000p+0, 0x1.68925d901c83bp-25),
986    (double2)(0x1.8ace540000000p+0, 0x1.15506dadd3e2ap-27),
987    (double2)(0x1.8f1ae90000000p+0, 0x1.22aee6c57304ep-25),
988    (double2)(0x1.93737b0000000p+0, 0x1.9b8bc9e8a0387p-29),
989    (double2)(0x1.97d8290000000p+0, 0x1.fbc9c9f173d24p-25),
990    (double2)(0x1.9c49180000000p+0, 0x1.51f8480e3e235p-27),
991    (double2)(0x1.a0c6670000000p+0, 0x1.6bbcac96535b5p-25),
992    (double2)(0x1.a5503b0000000p+0, 0x1.1f12ae45a1224p-27),
993    (double2)(0x1.a9e6b50000000p+0, 0x1.5e7f6fd0fac90p-26),
994    (double2)(0x1.ae89f90000000p+0, 0x1.2b5a75abd0e69p-25),
995    (double2)(0x1.b33a2b0000000p+0, 0x1.09e2bf5ed7fa1p-25),
996    (double2)(0x1.b7f76f0000000p+0, 0x1.7daf237553d84p-27),
997    (double2)(0x1.bcc1e90000000p+0, 0x1.2f074891ee83dp-30),
998    (double2)(0x1.c199bd0000000p+0, 0x1.b0aa538444196p-25),
999    (double2)(0x1.c67f120000000p+0, 0x1.cafa29694426fp-25),
1000    (double2)(0x1.cb720d0000000p+0, 0x1.9df20d22a0797p-25),
1001    (double2)(0x1.d072d40000000p+0, 0x1.40f12f71a1e45p-25),
1002    (double2)(0x1.d5818d0000000p+0, 0x1.9f7490e4bb40bp-25),
1003    (double2)(0x1.da9e600000000p+0, 0x1.ed9942b84600dp-27),
1004    (double2)(0x1.dfc9730000000p+0, 0x1.bdcdaf5cb4656p-27),
1005    (double2)(0x1.e502ee0000000p+0, 0x1.e2cffd89cf44cp-26),
1006    (double2)(0x1.ea4afa0000000p+0, 0x1.52486cc2c7b9dp-27),
1007    (double2)(0x1.efa1be0000000p+0, 0x1.cc2b44eee3fa4p-25),
1008    (double2)(0x1.f507650000000p+0, 0x1.6dc8a80ce9f09p-25),
1009    (double2)(0x1.fa7c180000000p+0, 0x1.9e90d82e90a7ep-28)
1010
1011};
1012
1013
1014DECLARE_TABLE(double2, SINH_TBL, 37) = {
1015    (double2)(0x0.0000000000000p+0, 0x0.0000000000000p+0),
1016    (double2)(0x1.2cd9fc0000000p+0, 0x1.13ae6096a0092p-26),
1017    (double2)(0x1.d03cf60000000p+1, 0x1.db70cfb79a640p-26),
1018    (double2)(0x1.40926e0000000p+3, 0x1.c2526b66dc067p-23),
1019    (double2)(0x1.b4a3800000000p+4, 0x1.b81b18647f380p-23),
1020    (double2)(0x1.28d0160000000p+6, 0x1.bc1cdd1e1eb08p-20),
1021    (double2)(0x1.936d228000000p+7, 0x1.d9f201534fb09p-19),
1022    (double2)(0x1.1228768000000p+9, 0x1.d1c064a4e9954p-18),
1023    (double2)(0x1.749ea50000000p+10, 0x1.4eca65d06ea74p-18),
1024    (double2)(0x1.fa71570000000p+11, 0x1.0c259bcc0ecc5p-15),
1025    (double2)(0x1.5829dc8000000p+13, 0x1.b5a6647cf9016p-13),
1026    (double2)(0x1.d3c4488000000p+14, 0x1.9691adefb0870p-15),
1027    (double2)(0x1.3de1650000000p+16, 0x1.3410fc29cde38p-10),
1028    (double2)(0x1.b00b590000000p+17, 0x1.6a31a50b6fb3cp-11),
1029    (double2)(0x1.259ac48000000p+19, 0x1.7defc71805c40p-10),
1030    (double2)(0x1.8f0cca8000000p+20, 0x1.eb49fd80e0babp-6),
1031    (double2)(0x1.0f2ebd0000000p+22, 0x1.4fffc7bcd5920p-7),
1032    (double2)(0x1.7093488000000p+23, 0x1.03a93b6c63435p-3),
1033    (double2)(0x1.f4f2208000000p+24, 0x1.1940bb255fd1cp-4),
1034    (double2)(0x1.546d8f8000000p+26, 0x1.ed26e14260b50p-2),
1035    (double2)(0x1.ceb0888000000p+27, 0x1.b47401fc9f2a2p+0),
1036    (double2)(0x1.3a6e1f8000000p+29, 0x1.67bb3f55634f1p+3),
1037    (double2)(0x1.ab5adb8000000p+30, 0x1.c435ff8194ddcp+2),
1038    (double2)(0x1.226af30000000p+32, 0x1.d8fee052ba63ap+5),
1039    (double2)(0x1.8ab7fb0000000p+33, 0x1.51d7edccde3f6p+7),
1040    (double2)(0x1.0c3d390000000p+35, 0x1.04b1644557d1ap+8),
1041    (double2)(0x1.6c93268000000p+36, 0x1.6a6b5ca0a9dc4p+8),
1042    (double2)(0x1.ef822f0000000p+37, 0x1.fd9cc72249abap+11),
1043    (double2)(0x1.50bba30000000p+39, 0x1.e58de693edab5p+13),
1044    (double2)(0x1.c9aae40000000p+40, 0x1.8c70158ac6363p+14),
1045    (double2)(0x1.3704708000000p+42, 0x1.7614764f43e20p+15),
1046    (double2)(0x1.a6b7658000000p+43, 0x1.6337db36fc718p+17),
1047    (double2)(0x1.1f43fc8000000p+45, 0x1.12d98b1f611e2p+19),
1048    (double2)(0x1.866f348000000p+46, 0x1.392bc108b37ccp+19),
1049    (double2)(0x1.0953e28000000p+48, 0x1.ce87bdc3473dcp+22),
1050    (double2)(0x1.689e220000000p+49, 0x1.bc8d5ae99ad14p+21),
1051    (double2)(0x1.ea215a0000000p+50, 0x1.d20d76744835cp+22),
1052};
1053
1054DECLARE_TABLE(double2, COSH_TBL, 37) = {
1055    (double2)(0x1.0000000000000p+0, 0x0.0000000000000p+0),
1056    (double2)(0x1.8b07550000000p+0, 0x1.d9f5504c2bd28p-28),
1057    (double2)(0x1.e18fa08000000p+1, 0x1.7cb66f0a4c9fdp-25),
1058    (double2)(0x1.422a490000000p+3, 0x1.f58617928e588p-23),
1059    (double2)(0x1.b4ee858000000p+4, 0x1.bc7d000c38d48p-25),
1060    (double2)(0x1.28d6fc8000000p+6, 0x1.f7f9d4e329998p-21),
1061    (double2)(0x1.936e678000000p+7, 0x1.6e6e464885269p-19),
1062    (double2)(0x1.1228948000000p+9, 0x1.ba3a8b946c154p-19),
1063    (double2)(0x1.749eaa8000000p+10, 0x1.3f4e76110d5a4p-18),
1064    (double2)(0x1.fa71580000000p+11, 0x1.17622515a3e2bp-15),
1065    (double2)(0x1.5829dd0000000p+13, 0x1.4dc4b528af3d0p-17),
1066    (double2)(0x1.d3c4488000000p+14, 0x1.1156278615e10p-14),
1067    (double2)(0x1.3de1650000000p+16, 0x1.35ad50ed821f5p-10),
1068    (double2)(0x1.b00b590000000p+17, 0x1.6b61055f2935cp-11),
1069    (double2)(0x1.259ac48000000p+19, 0x1.7e2794a601240p-10),
1070    (double2)(0x1.8f0cca8000000p+20, 0x1.eb4b45f6aadd3p-6),
1071    (double2)(0x1.0f2ebd0000000p+22, 0x1.5000b967b3698p-7),
1072    (double2)(0x1.7093488000000p+23, 0x1.03a940fadc092p-3),
1073    (double2)(0x1.f4f2208000000p+24, 0x1.1940bf3bf874cp-4),
1074    (double2)(0x1.546d8f8000000p+26, 0x1.ed26e1a2a2110p-2),
1075    (double2)(0x1.ceb0888000000p+27, 0x1.b4740205796d6p+0),
1076    (double2)(0x1.3a6e1f8000000p+29, 0x1.67bb3f55cb85dp+3),
1077    (double2)(0x1.ab5adb8000000p+30, 0x1.c435ff81e18acp+2),
1078    (double2)(0x1.226af30000000p+32, 0x1.d8fee052bdea4p+5),
1079    (double2)(0x1.8ab7fb0000000p+33, 0x1.51d7edccde926p+7),
1080    (double2)(0x1.0c3d390000000p+35, 0x1.04b1644557e0ep+8),
1081    (double2)(0x1.6c93268000000p+36, 0x1.6a6b5ca0a9e1cp+8),
1082    (double2)(0x1.ef822f0000000p+37, 0x1.fd9cc72249abep+11),
1083    (double2)(0x1.50bba30000000p+39, 0x1.e58de693edab5p+13),
1084    (double2)(0x1.c9aae40000000p+40, 0x1.8c70158ac6364p+14),
1085    (double2)(0x1.3704708000000p+42, 0x1.7614764f43e20p+15),
1086    (double2)(0x1.a6b7658000000p+43, 0x1.6337db36fc718p+17),
1087    (double2)(0x1.1f43fc8000000p+45, 0x1.12d98b1f611e2p+19),
1088    (double2)(0x1.866f348000000p+46, 0x1.392bc108b37ccp+19),
1089    (double2)(0x1.0953e28000000p+48, 0x1.ce87bdc3473dcp+22),
1090    (double2)(0x1.689e220000000p+49, 0x1.bc8d5ae99ad14p+21),
1091    (double2)(0x1.ea215a0000000p+50, 0x1.d20d76744835cp+22)
1092};
1093
1094DECLARE_TABLE(double, CBRT_INV_TBL, 257) = {
1095    0x1.0000000000000p+1,
1096    0x1.fe01fe01fe020p+0,
1097    0x1.fc07f01fc07f0p+0,
1098    0x1.fa11caa01fa12p+0,
1099    0x1.f81f81f81f820p+0,
1100    0x1.f6310aca0dbb5p+0,
1101    0x1.f44659e4a4271p+0,
1102    0x1.f25f644230ab5p+0,
1103    0x1.f07c1f07c1f08p+0,
1104    0x1.ee9c7f8458e02p+0,
1105    0x1.ecc07b301ecc0p+0,
1106    0x1.eae807aba01ebp+0,
1107    0x1.e9131abf0b767p+0,
1108    0x1.e741aa59750e4p+0,
1109    0x1.e573ac901e574p+0,
1110    0x1.e3a9179dc1a73p+0,
1111    0x1.e1e1e1e1e1e1ep+0,
1112    0x1.e01e01e01e01ep+0,
1113    0x1.de5d6e3f8868ap+0,
1114    0x1.dca01dca01dcap+0,
1115    0x1.dae6076b981dbp+0,
1116    0x1.d92f2231e7f8ap+0,
1117    0x1.d77b654b82c34p+0,
1118    0x1.d5cac807572b2p+0,
1119    0x1.d41d41d41d41dp+0,
1120    0x1.d272ca3fc5b1ap+0,
1121    0x1.d0cb58f6ec074p+0,
1122    0x1.cf26e5c44bfc6p+0,
1123    0x1.cd85689039b0bp+0,
1124    0x1.cbe6d9601cbe7p+0,
1125    0x1.ca4b3055ee191p+0,
1126    0x1.c8b265afb8a42p+0,
1127    0x1.c71c71c71c71cp+0,
1128    0x1.c5894d10d4986p+0,
1129    0x1.c3f8f01c3f8f0p+0,
1130    0x1.c26b5392ea01cp+0,
1131    0x1.c0e070381c0e0p+0,
1132    0x1.bf583ee868d8bp+0,
1133    0x1.bdd2b899406f7p+0,
1134    0x1.bc4fd65883e7bp+0,
1135    0x1.bacf914c1bad0p+0,
1136    0x1.b951e2b18ff23p+0,
1137    0x1.b7d6c3dda338bp+0,
1138    0x1.b65e2e3beee05p+0,
1139    0x1.b4e81b4e81b4fp+0,
1140    0x1.b37484ad806cep+0,
1141    0x1.b2036406c80d9p+0,
1142    0x1.b094b31d922a4p+0,
1143    0x1.af286bca1af28p+0,
1144    0x1.adbe87f94905ep+0,
1145    0x1.ac5701ac5701bp+0,
1146    0x1.aaf1d2f87ebfdp+0,
1147    0x1.a98ef606a63bep+0,
1148    0x1.a82e65130e159p+0,
1149    0x1.a6d01a6d01a6dp+0,
1150    0x1.a574107688a4ap+0,
1151    0x1.a41a41a41a41ap+0,
1152    0x1.a2c2a87c51ca0p+0,
1153    0x1.a16d3f97a4b02p+0,
1154    0x1.a01a01a01a01ap+0,
1155    0x1.9ec8e951033d9p+0,
1156    0x1.9d79f176b682dp+0,
1157    0x1.9c2d14ee4a102p+0,
1158    0x1.9ae24ea5510dap+0,
1159    0x1.999999999999ap+0,
1160    0x1.9852f0d8ec0ffp+0,
1161    0x1.970e4f80cb872p+0,
1162    0x1.95cbb0be377aep+0,
1163    0x1.948b0fcd6e9e0p+0,
1164    0x1.934c67f9b2ce6p+0,
1165    0x1.920fb49d0e229p+0,
1166    0x1.90d4f120190d5p+0,
1167    0x1.8f9c18f9c18fap+0,
1168    0x1.8e6527af1373fp+0,
1169    0x1.8d3018d3018d3p+0,
1170    0x1.8bfce8062ff3ap+0,
1171    0x1.8acb90f6bf3aap+0,
1172    0x1.899c0f601899cp+0,
1173    0x1.886e5f0abb04ap+0,
1174    0x1.87427bcc092b9p+0,
1175    0x1.8618618618618p+0,
1176    0x1.84f00c2780614p+0,
1177    0x1.83c977ab2beddp+0,
1178    0x1.82a4a0182a4a0p+0,
1179    0x1.8181818181818p+0,
1180    0x1.8060180601806p+0,
1181    0x1.7f405fd017f40p+0,
1182    0x1.7e225515a4f1dp+0,
1183    0x1.7d05f417d05f4p+0,
1184    0x1.7beb3922e017cp+0,
1185    0x1.7ad2208e0ecc3p+0,
1186    0x1.79baa6bb6398bp+0,
1187    0x1.78a4c8178a4c8p+0,
1188    0x1.77908119ac60dp+0,
1189    0x1.767dce434a9b1p+0,
1190    0x1.756cac201756dp+0,
1191    0x1.745d1745d1746p+0,
1192    0x1.734f0c541fe8dp+0,
1193    0x1.724287f46debcp+0,
1194    0x1.713786d9c7c09p+0,
1195    0x1.702e05c0b8170p+0,
1196    0x1.6f26016f26017p+0,
1197    0x1.6e1f76b4337c7p+0,
1198    0x1.6d1a62681c861p+0,
1199    0x1.6c16c16c16c17p+0,
1200    0x1.6b1490aa31a3dp+0,
1201    0x1.6a13cd1537290p+0,
1202    0x1.691473a88d0c0p+0,
1203    0x1.6816816816817p+0,
1204    0x1.6719f3601671ap+0,
1205    0x1.661ec6a5122f9p+0,
1206    0x1.6524f853b4aa3p+0,
1207    0x1.642c8590b2164p+0,
1208    0x1.63356b88ac0dep+0,
1209    0x1.623fa77016240p+0,
1210    0x1.614b36831ae94p+0,
1211    0x1.6058160581606p+0,
1212    0x1.5f66434292dfcp+0,
1213    0x1.5e75bb8d015e7p+0,
1214    0x1.5d867c3ece2a5p+0,
1215    0x1.5c9882b931057p+0,
1216    0x1.5babcc647fa91p+0,
1217    0x1.5ac056b015ac0p+0,
1218    0x1.59d61f123ccaap+0,
1219    0x1.58ed2308158edp+0,
1220    0x1.5805601580560p+0,
1221    0x1.571ed3c506b3ap+0,
1222    0x1.56397ba7c52e2p+0,
1223    0x1.5555555555555p+0,
1224    0x1.54725e6bb82fep+0,
1225    0x1.5390948f40febp+0,
1226    0x1.52aff56a8054bp+0,
1227    0x1.51d07eae2f815p+0,
1228    0x1.50f22e111c4c5p+0,
1229    0x1.5015015015015p+0,
1230    0x1.4f38f62dd4c9bp+0,
1231    0x1.4e5e0a72f0539p+0,
1232    0x1.4d843bedc2c4cp+0,
1233    0x1.4cab88725af6ep+0,
1234    0x1.4bd3edda68fe1p+0,
1235    0x1.4afd6a052bf5bp+0,
1236    0x1.4a27fad76014ap+0,
1237    0x1.49539e3b2d067p+0,
1238    0x1.4880522014880p+0,
1239    0x1.47ae147ae147bp+0,
1240    0x1.46dce34596066p+0,
1241    0x1.460cbc7f5cf9ap+0,
1242    0x1.453d9e2c776cap+0,
1243    0x1.446f86562d9fbp+0,
1244    0x1.43a2730abee4dp+0,
1245    0x1.42d6625d51f87p+0,
1246    0x1.420b5265e5951p+0,
1247    0x1.4141414141414p+0,
1248    0x1.40782d10e6566p+0,
1249    0x1.3fb013fb013fbp+0,
1250    0x1.3ee8f42a5af07p+0,
1251    0x1.3e22cbce4a902p+0,
1252    0x1.3d5d991aa75c6p+0,
1253    0x1.3c995a47babe7p+0,
1254    0x1.3bd60d9232955p+0,
1255    0x1.3b13b13b13b14p+0,
1256    0x1.3a524387ac822p+0,
1257    0x1.3991c2c187f63p+0,
1258    0x1.38d22d366088ep+0,
1259    0x1.3813813813814p+0,
1260    0x1.3755bd1c945eep+0,
1261    0x1.3698df3de0748p+0,
1262    0x1.35dce5f9f2af8p+0,
1263    0x1.3521cfb2b78c1p+0,
1264    0x1.34679ace01346p+0,
1265    0x1.33ae45b57bcb2p+0,
1266    0x1.32f5ced6a1dfap+0,
1267    0x1.323e34a2b10bfp+0,
1268    0x1.3187758e9ebb6p+0,
1269    0x1.30d190130d190p+0,
1270    0x1.301c82ac40260p+0,
1271    0x1.2f684bda12f68p+0,
1272    0x1.2eb4ea1fed14bp+0,
1273    0x1.2e025c04b8097p+0,
1274    0x1.2d50a012d50a0p+0,
1275    0x1.2c9fb4d812ca0p+0,
1276    0x1.2bef98e5a3711p+0,
1277    0x1.2b404ad012b40p+0,
1278    0x1.2a91c92f3c105p+0,
1279    0x1.29e4129e4129ep+0,
1280    0x1.293725bb804a5p+0,
1281    0x1.288b01288b013p+0,
1282    0x1.27dfa38a1ce4dp+0,
1283    0x1.27350b8812735p+0,
1284    0x1.268b37cd60127p+0,
1285    0x1.25e22708092f1p+0,
1286    0x1.2539d7e9177b2p+0,
1287    0x1.2492492492492p+0,
1288    0x1.23eb79717605bp+0,
1289    0x1.23456789abcdfp+0,
1290    0x1.22a0122a0122ap+0,
1291    0x1.21fb78121fb78p+0,
1292    0x1.21579804855e6p+0,
1293    0x1.20b470c67c0d9p+0,
1294    0x1.2012012012012p+0,
1295    0x1.1f7047dc11f70p+0,
1296    0x1.1ecf43c7fb84cp+0,
1297    0x1.1e2ef3b3fb874p+0,
1298    0x1.1d8f5672e4abdp+0,
1299    0x1.1cf06ada2811dp+0,
1300    0x1.1c522fc1ce059p+0,
1301    0x1.1bb4a4046ed29p+0,
1302    0x1.1b17c67f2bae3p+0,
1303    0x1.1a7b9611a7b96p+0,
1304    0x1.19e0119e0119ep+0,
1305    0x1.19453808ca29cp+0,
1306    0x1.18ab083902bdbp+0,
1307    0x1.1811811811812p+0,
1308    0x1.1778a191bd684p+0,
1309    0x1.16e0689427379p+0,
1310    0x1.1648d50fc3201p+0,
1311    0x1.15b1e5f75270dp+0,
1312    0x1.151b9a3fdd5c9p+0,
1313    0x1.1485f0e0acd3bp+0,
1314    0x1.13f0e8d344724p+0,
1315    0x1.135c81135c811p+0,
1316    0x1.12c8b89edc0acp+0,
1317    0x1.12358e75d3033p+0,
1318    0x1.11a3019a74826p+0,
1319    0x1.1111111111111p+0,
1320    0x1.107fbbe011080p+0,
1321    0x1.0fef010fef011p+0,
1322    0x1.0f5edfab325a2p+0,
1323    0x1.0ecf56be69c90p+0,
1324    0x1.0e40655826011p+0,
1325    0x1.0db20a88f4696p+0,
1326    0x1.0d24456359e3ap+0,
1327    0x1.0c9714fbcda3bp+0,
1328    0x1.0c0a7868b4171p+0,
1329    0x1.0b7e6ec259dc8p+0,
1330    0x1.0af2f722eecb5p+0,
1331    0x1.0a6810a6810a7p+0,
1332    0x1.09ddba6af8360p+0,
1333    0x1.0953f39010954p+0,
1334    0x1.08cabb37565e2p+0,
1335    0x1.0842108421084p+0,
1336    0x1.07b9f29b8eae2p+0,
1337    0x1.073260a47f7c6p+0,
1338    0x1.06ab59c7912fbp+0,
1339    0x1.0624dd2f1a9fcp+0,
1340    0x1.059eea0727586p+0,
1341    0x1.05197f7d73404p+0,
1342    0x1.04949cc1664c5p+0,
1343    0x1.0410410410410p+0,
1344    0x1.038c6b78247fcp+0,
1345    0x1.03091b51f5e1ap+0,
1346    0x1.02864fc7729e9p+0,
1347    0x1.0204081020408p+0,
1348    0x1.0182436517a37p+0,
1349    0x1.0101010101010p+0,
1350    0x1.0080402010080p+0,
1351    0x1.0000000000000p+0
1352};
1353
1354DECLARE_TABLE(double2, CBRT_DBL_TBL, 257) = {
1355    (double2)(0x1.0000000000000p+0, 0x0.0000000000000p+0),
1356    (double2)(0x1.0055380000000p+0, 0x1.e6a24c81e4294p-25),
1357    (double2)(0x1.00aa390000000p+0, 0x1.8548511e3a785p-26),
1358    (double2)(0x1.00ff010000000p+0, 0x1.4eb9336ec07f6p-25),
1359    (double2)(0x1.0153920000000p+0, 0x1.0ea64b8b750e1p-27),
1360    (double2)(0x1.01a7eb0000000p+0, 0x1.61637cff8a53cp-27),
1361    (double2)(0x1.01fc0d0000000p+0, 0x1.0733bf7bd1943p-27),
1362    (double2)(0x1.024ff80000000p+0, 0x1.666911345ccedp-26),
1363    (double2)(0x1.02a3ad0000000p+0, 0x1.77b7a3f592f14p-27),
1364    (double2)(0x1.02f72b0000000p+0, 0x1.f18d3dd1a5402p-25),
1365    (double2)(0x1.034a750000000p+0, 0x1.be2f5a58ee9a4p-29),
1366    (double2)(0x1.039d880000000p+0, 0x1.8901f8f085fa7p-25),
1367    (double2)(0x1.03f0670000000p+0, 0x1.c68b8cd5b5d69p-26),
1368    (double2)(0x1.0443110000000p+0, 0x1.a6b0e8624be42p-26),
1369    (double2)(0x1.0495870000000p+0, 0x1.c4b22b06f68e7p-36),
1370    (double2)(0x1.04e7c80000000p+0, 0x1.0f3f0afcabe9bp-25),
1371    (double2)(0x1.0539d60000000p+0, 0x1.48495bca4e1b7p-26),
1372    (double2)(0x1.058bb00000000p+0, 0x1.6107f1abdfdc3p-25),
1373    (double2)(0x1.05dd570000000p+0, 0x1.e67261878288ap-25),
1374    (double2)(0x1.062ecc0000000p+0, 0x1.a6bc155286f1ep-26),
1375    (double2)(0x1.06800e0000000p+0, 0x1.8a759c64a85f2p-26),
1376    (double2)(0x1.06d11e0000000p+0, 0x1.5fce70a4a8d09p-27),
1377    (double2)(0x1.0721fc0000000p+0, 0x1.2f9cbf373fe1dp-28),
1378    (double2)(0x1.0772a80000000p+0, 0x1.90564ce4ac359p-26),
1379    (double2)(0x1.07c3230000000p+0, 0x1.ac29ce761b02fp-26),
1380    (double2)(0x1.08136d0000000p+0, 0x1.cb752f497381cp-26),
1381    (double2)(0x1.0863860000000p+0, 0x1.8bb9e1cfb35e0p-25),
1382    (double2)(0x1.08b36f0000000p+0, 0x1.5b4917099de90p-25),
1383    (double2)(0x1.0903280000000p+0, 0x1.cc77ac9c65ef2p-26),
1384    (double2)(0x1.0952b10000000p+0, 0x1.7a0f3e7be3dbap-26),
1385    (double2)(0x1.09a20a0000000p+0, 0x1.6ec851ee0c16fp-25),
1386    (double2)(0x1.09f1340000000p+0, 0x1.89449bf2946dap-25),
1387    (double2)(0x1.0a402f0000000p+0, 0x1.98f25301ba223p-25),
1388    (double2)(0x1.0a8efc0000000p+0, 0x1.47d5ec651f549p-28),
1389    (double2)(0x1.0add990000000p+0, 0x1.c33ec9a86007ap-25),
1390    (double2)(0x1.0b2c090000000p+0, 0x1.e0b6653e92649p-26),
1391    (double2)(0x1.0b7a4b0000000p+0, 0x1.bd64ac09d755fp-28),
1392    (double2)(0x1.0bc85f0000000p+0, 0x1.f537506f78167p-29),
1393    (double2)(0x1.0c16450000000p+0, 0x1.2c382d1b3735ep-25),
1394    (double2)(0x1.0c63fe0000000p+0, 0x1.e20ed659f99e1p-25),
1395    (double2)(0x1.0cb18b0000000p+0, 0x1.86b633a9c182ap-26),
1396    (double2)(0x1.0cfeeb0000000p+0, 0x1.45cfd5a65e777p-27),
1397    (double2)(0x1.0d4c1e0000000p+0, 0x1.0c8770f58bca4p-25),
1398    (double2)(0x1.0d99250000000p+0, 0x1.739e44b0933c5p-25),
1399    (double2)(0x1.0de6010000000p+0, 0x1.27dc3d9ce7bd8p-31),
1400    (double2)(0x1.0e32b00000000p+0, 0x1.3c53c7c5a7b64p-25),
1401    (double2)(0x1.0e7f340000000p+0, 0x1.9669683830cecp-25),
1402    (double2)(0x1.0ecb8d0000000p+0, 0x1.8d772c39bdcc4p-25),
1403    (double2)(0x1.0f17bb0000000p+0, 0x1.9b0008bcf6d7bp-25),
1404    (double2)(0x1.0f63bf0000000p+0, 0x1.bbb305825ce4fp-28),
1405    (double2)(0x1.0faf970000000p+0, 0x1.da3f4af13a406p-25),
1406    (double2)(0x1.0ffb460000000p+0, 0x1.f36b96f74ce86p-26),
1407    (double2)(0x1.1046cb0000000p+0, 0x1.65c002303f790p-30),
1408    (double2)(0x1.1092250000000p+0, 0x1.82f84095ba7d5p-25),
1409    (double2)(0x1.10dd560000000p+0, 0x1.d46433541b2c6p-25),
1410    (double2)(0x1.11285e0000000p+0, 0x1.71c3d56e93a89p-25),
1411    (double2)(0x1.11733d0000000p+0, 0x1.98dcef4e40012p-26),
1412    (double2)(0x1.11bdf30000000p+0, 0x1.530ebef17fe03p-27),
1413    (double2)(0x1.1208800000000p+0, 0x1.e8b8fa3715066p-27),
1414    (double2)(0x1.1252e40000000p+0, 0x1.ab26eb3b211dcp-25),
1415    (double2)(0x1.129d210000000p+0, 0x1.54dd4dc906307p-27),
1416    (double2)(0x1.12e7350000000p+0, 0x1.c9f962387984ep-26),
1417    (double2)(0x1.1331210000000p+0, 0x1.c62a959afec09p-25),
1418    (double2)(0x1.137ae60000000p+0, 0x1.638d9ac6a866ap-25),
1419    (double2)(0x1.13c4840000000p+0, 0x1.38704eca8a22dp-28),
1420    (double2)(0x1.140dfa0000000p+0, 0x1.e6c9e1db14f8fp-27),
1421    (double2)(0x1.1457490000000p+0, 0x1.8744b7f9c9eaap-26),
1422    (double2)(0x1.14a0710000000p+0, 0x1.6c2893486373bp-25),
1423    (double2)(0x1.14e9730000000p+0, 0x1.b36bce31699b7p-26),
1424    (double2)(0x1.15324e0000000p+0, 0x1.71e3813d200c7p-25),
1425    (double2)(0x1.157b030000000p+0, 0x1.99755ab40aa88p-25),
1426    (double2)(0x1.15c3920000000p+0, 0x1.b45ca0e4bcfc0p-25),
1427    (double2)(0x1.160bfc0000000p+0, 0x1.2dd090d869c5dp-28),
1428    (double2)(0x1.16543f0000000p+0, 0x1.4fe0516b917dap-25),
1429    (double2)(0x1.169c5d0000000p+0, 0x1.94563226317a2p-25),
1430    (double2)(0x1.16e4560000000p+0, 0x1.53d8fafc2c851p-25),
1431    (double2)(0x1.172c2a0000000p+0, 0x1.dcbd41fbd41a3p-26),
1432    (double2)(0x1.1773d90000000p+0, 0x1.862ff5285f59cp-26),
1433    (double2)(0x1.17bb630000000p+0, 0x1.3072ea97a1e1cp-25),
1434    (double2)(0x1.1802c90000000p+0, 0x1.2839075184805p-26),
1435    (double2)(0x1.184a0a0000000p+0, 0x1.4b0323e9eff42p-25),
1436    (double2)(0x1.1891270000000p+0, 0x1.b158893c45484p-25),
1437    (double2)(0x1.18d8210000000p+0, 0x1.149ef0fc35826p-28),
1438    (double2)(0x1.191ef60000000p+0, 0x1.f2e77ea96acaap-26),
1439    (double2)(0x1.1965a80000000p+0, 0x1.200074c471a95p-26),
1440    (double2)(0x1.19ac360000000p+0, 0x1.3f8cc517f6f04p-25),
1441    (double2)(0x1.19f2a10000000p+0, 0x1.60ba2e311bb55p-25),
1442    (double2)(0x1.1a38e90000000p+0, 0x1.4b788730bbec3p-25),
1443    (double2)(0x1.1a7f0e0000000p+0, 0x1.57090795ee20cp-25),
1444    (double2)(0x1.1ac5100000000p+0, 0x1.d9ffe983670b1p-25),
1445    (double2)(0x1.1b0af00000000p+0, 0x1.2a463ff61bfdap-25),
1446    (double2)(0x1.1b50ad0000000p+0, 0x1.9d1bc6a5e65cfp-25),
1447    (double2)(0x1.1b96480000000p+0, 0x1.8718abaa9e922p-25),
1448    (double2)(0x1.1bdbc10000000p+0, 0x1.3c2f52ffa342ep-25),
1449    (double2)(0x1.1c21180000000p+0, 0x1.0fae13ff42c80p-25),
1450    (double2)(0x1.1c664d0000000p+0, 0x1.5440f0ef00d57p-25),
1451    (double2)(0x1.1cab610000000p+0, 0x1.6fcd22d4e3c1ep-27),
1452    (double2)(0x1.1cf0530000000p+0, 0x1.e0c60b409e863p-27),
1453    (double2)(0x1.1d35230000000p+0, 0x1.f9cab5a5f0333p-25),
1454    (double2)(0x1.1d79d30000000p+0, 0x1.30f24744c333dp-25),
1455    (double2)(0x1.1dbe620000000p+0, 0x1.b50622a76b2fep-27),
1456    (double2)(0x1.1e02cf0000000p+0, 0x1.fdb94ba595375p-25),
1457    (double2)(0x1.1e471d0000000p+0, 0x1.861b9b945a171p-28),
1458    (double2)(0x1.1e8b490000000p+0, 0x1.54348015188c4p-25),
1459    (double2)(0x1.1ecf550000000p+0, 0x1.b54d149865523p-25),
1460    (double2)(0x1.1f13410000000p+0, 0x1.a0bb783d9de33p-25),
1461    (double2)(0x1.1f570d0000000p+0, 0x1.629d12b1a2157p-25),
1462    (double2)(0x1.1f9ab90000000p+0, 0x1.467fe35d179dfp-25),
1463    (double2)(0x1.1fde450000000p+0, 0x1.9763f3e26c8f7p-25),
1464    (double2)(0x1.2021b20000000p+0, 0x1.3f798bb9f7679p-26),
1465    (double2)(0x1.2064ff0000000p+0, 0x1.52e577e855898p-26),
1466    (double2)(0x1.20a82c0000000p+0, 0x1.fde47e5502c3ap-25),
1467    (double2)(0x1.20eb3b0000000p+0, 0x1.cbd0b548d96a0p-26),
1468    (double2)(0x1.212e2a0000000p+0, 0x1.a9cd9f7be8de8p-25),
1469    (double2)(0x1.2170fb0000000p+0, 0x1.22bbe704886dep-26),
1470    (double2)(0x1.21b3ac0000000p+0, 0x1.e3dea8317f020p-25),
1471    (double2)(0x1.21f63f0000000p+0, 0x1.e812085ac8855p-25),
1472    (double2)(0x1.2238b40000000p+0, 0x1.c87144f24cb07p-26),
1473    (double2)(0x1.227b0a0000000p+0, 0x1.1e128ee311fa2p-25),
1474    (double2)(0x1.22bd420000000p+0, 0x1.b5c163d61a2d3p-26),
1475    (double2)(0x1.22ff5c0000000p+0, 0x1.7d97e7fb90633p-27),
1476    (double2)(0x1.2341570000000p+0, 0x1.efe899d50f6a7p-25),
1477    (double2)(0x1.2383350000000p+0, 0x1.d0333eb75de5ap-25),
1478    (double2)(0x1.23c4f60000000p+0, 0x1.0e590be73a573p-27),
1479    (double2)(0x1.2406980000000p+0, 0x1.8ce8dcac3cdd2p-25),
1480    (double2)(0x1.24481d0000000p+0, 0x1.ee8a48954064bp-25),
1481    (double2)(0x1.2489850000000p+0, 0x1.aa62f18461e09p-25),
1482    (double2)(0x1.24cad00000000p+0, 0x1.01e5940986a15p-25),
1483    (double2)(0x1.250bfe0000000p+0, 0x1.b082f4f9b8d4cp-28),
1484    (double2)(0x1.254d0e0000000p+0, 0x1.876e0e5527f5ap-25),
1485    (double2)(0x1.258e020000000p+0, 0x1.3617080831e6bp-25),
1486    (double2)(0x1.25ced90000000p+0, 0x1.81b26e34aa4a2p-25),
1487    (double2)(0x1.260f940000000p+0, 0x1.52ee66dfab0c1p-26),
1488    (double2)(0x1.2650320000000p+0, 0x1.d85a5329e8819p-26),
1489    (double2)(0x1.2690b40000000p+0, 0x1.105c1b646b5d1p-26),
1490    (double2)(0x1.26d1190000000p+0, 0x1.bb6690c1a379cp-25),
1491    (double2)(0x1.2711630000000p+0, 0x1.86aeba73ce3a9p-26),
1492    (double2)(0x1.2751900000000p+0, 0x1.dd16198294dd4p-25),
1493    (double2)(0x1.2791a20000000p+0, 0x1.454e675775e83p-25),
1494    (double2)(0x1.27d1980000000p+0, 0x1.3842e026197eap-25),
1495    (double2)(0x1.2811720000000p+0, 0x1.f1ce0e70c44d2p-25),
1496    (double2)(0x1.2851310000000p+0, 0x1.ad636441a5627p-25),
1497    (double2)(0x1.2890d50000000p+0, 0x1.4c205d7212abbp-26),
1498    (double2)(0x1.28d05d0000000p+0, 0x1.167c86c116419p-25),
1499    (double2)(0x1.290fca0000000p+0, 0x1.38ec3ef16e294p-25),
1500    (double2)(0x1.294f1c0000000p+0, 0x1.473fceace9321p-25),
1501    (double2)(0x1.298e530000000p+0, 0x1.7af53a836dba7p-25),
1502    (double2)(0x1.29cd700000000p+0, 0x1.a51f3c383b652p-30),
1503    (double2)(0x1.2a0c710000000p+0, 0x1.3696da190822dp-25),
1504    (double2)(0x1.2a4b580000000p+0, 0x1.2f9adec77074bp-25),
1505    (double2)(0x1.2a8a250000000p+0, 0x1.8190fd5bee55fp-28),
1506    (double2)(0x1.2ac8d70000000p+0, 0x1.bfee8fac68e55p-27),
1507    (double2)(0x1.2b076f0000000p+0, 0x1.31c9d6bc5f68ap-28),
1508    (double2)(0x1.2b45ec0000000p+0, 0x1.89d0523737edfp-25),
1509    (double2)(0x1.2b84500000000p+0, 0x1.a295943bf47bbp-26),
1510    (double2)(0x1.2bc29a0000000p+0, 0x1.96be32e5b3207p-28),
1511    (double2)(0x1.2c00c90000000p+0, 0x1.e44c7d909fa0ep-25),
1512    (double2)(0x1.2c3ee00000000p+0, 0x1.b2505da94d9eap-29),
1513    (double2)(0x1.2c7cdc0000000p+0, 0x1.0c851f46c9c98p-25),
1514    (double2)(0x1.2cbabf0000000p+0, 0x1.da71f7d9aa3b7p-26),
1515    (double2)(0x1.2cf8880000000p+0, 0x1.f1b605d019ef1p-25),
1516    (double2)(0x1.2d36390000000p+0, 0x1.386e8a2189563p-27),
1517    (double2)(0x1.2d73d00000000p+0, 0x1.b19fa5d306ba7p-28),
1518    (double2)(0x1.2db14d0000000p+0, 0x1.dd749b67aef76p-25),
1519    (double2)(0x1.2deeb20000000p+0, 0x1.76ff6f1dc04b0p-25),
1520    (double2)(0x1.2e2bfe0000000p+0, 0x1.35a33d0b232a6p-25),
1521    (double2)(0x1.2e69310000000p+0, 0x1.4bdc80024a4e1p-25),
1522    (double2)(0x1.2ea64b0000000p+0, 0x1.ebd61770fd723p-25),
1523    (double2)(0x1.2ee34d0000000p+0, 0x1.4769fc537264dp-25),
1524    (double2)(0x1.2f20360000000p+0, 0x1.9021f429f3b98p-25),
1525    (double2)(0x1.2f5d070000000p+0, 0x1.ee7083efbd606p-26),
1526    (double2)(0x1.2f99bf0000000p+0, 0x1.ad985552a6b1ap-25),
1527    (double2)(0x1.2fd65f0000000p+0, 0x1.e3df778772160p-25),
1528    (double2)(0x1.3012e70000000p+0, 0x1.ca5d76ddc9b34p-25),
1529    (double2)(0x1.304f570000000p+0, 0x1.91154ffdbaf74p-25),
1530    (double2)(0x1.308baf0000000p+0, 0x1.67bdd57fb306ap-25),
1531    (double2)(0x1.30c7ef0000000p+0, 0x1.7dc255ac40886p-25),
1532    (double2)(0x1.3104180000000p+0, 0x1.219f38e8afafep-32),
1533    (double2)(0x1.3140280000000p+0, 0x1.2416bf9669a04p-25),
1534    (double2)(0x1.317c210000000p+0, 0x1.11c96b2b3987fp-25),
1535    (double2)(0x1.31b8020000000p+0, 0x1.f99ed447e1177p-25),
1536    (double2)(0x1.31f3cd0000000p+0, 0x1.3245826328a11p-30),
1537    (double2)(0x1.322f7f0000000p+0, 0x1.6f56dd1e645f8p-25),
1538    (double2)(0x1.326b1b0000000p+0, 0x1.6164946945535p-27),
1539    (double2)(0x1.32a69f0000000p+0, 0x1.e37d59d190028p-26),
1540    (double2)(0x1.32e20c0000000p+0, 0x1.68671f12bf828p-25),
1541    (double2)(0x1.331d620000000p+0, 0x1.e8ecbca6aabbdp-25),
1542    (double2)(0x1.3358a20000000p+0, 0x1.3f49e109a5912p-26),
1543    (double2)(0x1.3393ca0000000p+0, 0x1.b8a0e11ec3043p-25),
1544    (double2)(0x1.33cedc0000000p+0, 0x1.5fae00aed691ap-25),
1545    (double2)(0x1.3409d70000000p+0, 0x1.c0569bece3e4ap-25),
1546    (double2)(0x1.3444bc0000000p+0, 0x1.05e26744efbfep-25),
1547    (double2)(0x1.347f8a0000000p+0, 0x1.5b570a94be5c5p-25),
1548    (double2)(0x1.34ba420000000p+0, 0x1.d6f156ea0e063p-26),
1549    (double2)(0x1.34f4e30000000p+0, 0x1.e0ca7612fc484p-25),
1550    (double2)(0x1.352f6f0000000p+0, 0x1.963c927b25258p-27),
1551    (double2)(0x1.3569e40000000p+0, 0x1.47930aa725a5cp-26),
1552    (double2)(0x1.35a4430000000p+0, 0x1.8a79fe3af43b3p-26),
1553    (double2)(0x1.35de8c0000000p+0, 0x1.e6dc29c41bdafp-26),
1554    (double2)(0x1.3618bf0000000p+0, 0x1.57a2e76f863a5p-25),
1555    (double2)(0x1.3652dd0000000p+0, 0x1.ae3b61716354dp-29),
1556    (double2)(0x1.368ce40000000p+0, 0x1.65fb5df6906b1p-25),
1557    (double2)(0x1.36c6d60000000p+0, 0x1.6177d7f588f7bp-25),
1558    (double2)(0x1.3700b30000000p+0, 0x1.ad55abd091b67p-28),
1559    (double2)(0x1.373a7a0000000p+0, 0x1.55337b2422d76p-30),
1560    (double2)(0x1.37742b0000000p+0, 0x1.084ebe86972d5p-25),
1561    (double2)(0x1.37adc70000000p+0, 0x1.56395808e1ea3p-25),
1562    (double2)(0x1.37e74e0000000p+0, 0x1.1bce21b40fba7p-25),
1563    (double2)(0x1.3820c00000000p+0, 0x1.006f94605b515p-26),
1564    (double2)(0x1.385a1c0000000p+0, 0x1.aa676aceb1f7dp-25),
1565    (double2)(0x1.3893640000000p+0, 0x1.8229f76554ce6p-26),
1566    (double2)(0x1.38cc960000000p+0, 0x1.eabfc6cf57330p-25),
1567    (double2)(0x1.3905b40000000p+0, 0x1.4daed9c0ce8bcp-25),
1568    (double2)(0x1.393ebd0000000p+0, 0x1.0ff1768237141p-25),
1569    (double2)(0x1.3977b10000000p+0, 0x1.575f83051b085p-25),
1570    (double2)(0x1.39b0910000000p+0, 0x1.2667deb523e29p-27),
1571    (double2)(0x1.39e95c0000000p+0, 0x1.816996954f4fdp-30),
1572    (double2)(0x1.3a22120000000p+0, 0x1.87cfccf4d9cd4p-26),
1573    (double2)(0x1.3a5ab40000000p+0, 0x1.2c5d018198353p-26),
1574    (double2)(0x1.3a93410000000p+0, 0x1.a7a898dcc34aap-25),
1575    (double2)(0x1.3acbbb0000000p+0, 0x1.cead6dadc36d1p-29),
1576    (double2)(0x1.3b04200000000p+0, 0x1.a55759c498bdfp-29),
1577    (double2)(0x1.3b3c700000000p+0, 0x1.c414a9ef6de04p-25),
1578    (double2)(0x1.3b74ad0000000p+0, 0x1.3e2108a6e58fap-25),
1579    (double2)(0x1.3bacd60000000p+0, 0x1.587fd7643d77cp-26),
1580    (double2)(0x1.3be4eb0000000p+0, 0x1.901eb1d3ff3dfp-28),
1581    (double2)(0x1.3c1ceb0000000p+0, 0x1.f2ccd7c812fc6p-25),
1582    (double2)(0x1.3c54d90000000p+0, 0x1.1c8ee70a01049p-29),
1583    (double2)(0x1.3c8cb20000000p+0, 0x1.63e8d02831eecp-26),
1584    (double2)(0x1.3cc4770000000p+0, 0x1.f61a42a92c7ffp-25),
1585    (double2)(0x1.3cfc2a0000000p+0, 0x1.a917399c84d24p-34),
1586    (double2)(0x1.3d33c80000000p+0, 0x1.e9197c8eec2f0p-26),
1587    (double2)(0x1.3d6b530000000p+0, 0x1.e6f842f5a1378p-26),
1588    (double2)(0x1.3da2cb0000000p+0, 0x1.fac242a90a0fcp-29),
1589    (double2)(0x1.3dda2f0000000p+0, 0x1.35ed726610227p-26),
1590    (double2)(0x1.3e11800000000p+0, 0x1.0e0d64804b15bp-26),
1591    (double2)(0x1.3e48be0000000p+0, 0x1.560675daba814p-31),
1592    (double2)(0x1.3e7fe80000000p+0, 0x1.37388c8768032p-25),
1593    (double2)(0x1.3eb7000000000p+0, 0x1.ee3c89f9e01f5p-28),
1594    (double2)(0x1.3eee040000000p+0, 0x1.39f6f0d09747cp-25),
1595    (double2)(0x1.3f24f60000000p+0, 0x1.322c327abb8f0p-27),
1596    (double2)(0x1.3f5bd40000000p+0, 0x1.961b347c8ac80p-25),
1597    (double2)(0x1.3f92a00000000p+0, 0x1.3711fbbd0f118p-25),
1598    (double2)(0x1.3fc9590000000p+0, 0x1.4fad8d7718ffbp-25),
1599    (double2)(0x1.3fffff0000000p+0, 0x1.fffffffffffffp-25),
1600    (double2)(0x1.4036930000000p+0, 0x1.67efa79ec35b4p-25),
1601    (double2)(0x1.406d140000000p+0, 0x1.a737687a254a8p-25),
1602    (double2)(0x1.40a3830000000p+0, 0x1.bace0f87d924dp-26),
1603    (double2)(0x1.40d9df0000000p+0, 0x1.29e37c237e392p-25),
1604    (double2)(0x1.4110290000000p+0, 0x1.57ce7ac3f3012p-26),
1605    (double2)(0x1.4146600000000p+0, 0x1.82829359f8fbdp-25),
1606    (double2)(0x1.417c850000000p+0, 0x1.cc9be42d14676p-25),
1607    (double2)(0x1.41b2980000000p+0, 0x1.a8f001c137d0bp-25),
1608    (double2)(0x1.41e8990000000p+0, 0x1.36127687dda05p-25),
1609    (double2)(0x1.421e880000000p+0, 0x1.24dba322646f0p-26),
1610    (double2)(0x1.4254640000000p+0, 0x1.dc43f1ed210b4p-25),
1611    (double2)(0x1.428a2f0000000p+0, 0x1.31ae515c447bbp-25)
1612};
1613
1614
1615DECLARE_TABLE(double2, CBRT_REM_TBL, 5) = {
1616    (double2)(0x1.428a2f0000000p-1, 0x1.31ae515c447bbp-26),
1617    (double2)(0x1.965fea0000000p-1, 0x1.4f5b8f20ac166p-27),
1618    (double2)(0x1.0000000000000p+0, 0x0.0000000000000p+0),
1619    (double2)(0x1.428a2f0000000p+0, 0x1.31ae515c447bbp-25),
1620    (double2)(0x1.965fea0000000p+0, 0x1.4f5b8f20ac166p-26),
1621};
1622
1623TABLE_FUNCTION(double2, ATAN_JBY256_TBL, atan_jby256_tbl);
1624TABLE_FUNCTION(double2, TWO_TO_JBY64_EP, two_to_jby64_ep_tbl);
1625TABLE_FUNCTION(double2, SINH_TBL, sinh_tbl);
1626TABLE_FUNCTION(double2, COSH_TBL, cosh_tbl);
1627TABLE_FUNCTION(double, CBRT_INV_TBL, cbrt_inv_tbl);
1628TABLE_FUNCTION(double2, CBRT_DBL_TBL, cbrt_dbl_tbl);
1629TABLE_FUNCTION(double2, CBRT_REM_TBL, cbrt_rem_tbl);
1630
1631#endif // cl_khr_fp64
1632