1 /*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
24 */
25
26 /*
27 * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
28 * Use is subject to license terms.
29 */
30
31 /*
32 * Table of constants for expm1l.
33 * By K.C. Ng, June 30, 1995
34 */
35
36 #include "libm.h"
37
38 const long double _TBL_expm1lx[] = {
39 +7.8124999999999999999999999999995004619e-03L,
40 +2.3437499999999999999999999999998790275e-02L,
41 +3.9062499999999999999999999999981095794e-02L,
42 +5.4687500000000000000000000000007637516e-02L,
43 +7.0312500000000000000000000000001673152e-02L,
44 +8.5937500000000000000000000000004285194e-02L,
45 +1.0156249999999999999999999999997969348e-01L,
46 +1.1718749999999999999999999999998630182e-01L,
47 +1.3281249999999999999999999999999246480e-01L,
48 +1.4843750000000000000000000000000096296e-01L,
49 +1.6406249999999999999999999999999947037e-01L,
50 +1.7968750000000000000000000000007190941e-01L,
51 +1.9531249999999999999999999999999874815e-01L,
52 +2.1093749999999999999999999999999877222e-01L,
53 +2.2656250000000000000000000000000019259e-01L,
54 +2.4218749999999999999999999999999800185e-01L,
55 +2.5781249999999999999999999999996335918e-01L,
56 +2.7343749999999999999999999999999903704e-01L,
57 +2.8906249999999999999999999999998362960e-01L,
58 +3.0468750000000000000000000000000240741e-01L,
59 +3.2031249999999999999999999999999542592e-01L,
60 +3.3593749999999999999999999999999619629e-01L,
61 +3.5156250000000000000000000000001040002e-01L,
62 +3.6718749999999999999999999999999316295e-01L,
63 +3.8281250000000000000000000000000871483e-01L,
64 +3.9843750000000000000000000000000385186e-01L,
65 +4.1406249999999999999999999999999975926e-01L,
66 +4.2968750000000000000000000000000385186e-01L,
67 +4.4531250000000000000000000000032119697e-01L,
68 +4.6093749999999999999999999999999956667e-01L,
69 +4.7656250000000000000000000000000134815e-01L,
70 +4.9218749999999999999999999999999388517e-01L,
71 +5.0781249999999999999999999999999778518e-01L,
72 +5.2343749999999999999999999999999325925e-01L,
73 +5.3906249999999999999999999999990649610e-01L,
74 +5.5468750000000000000000000000000452594e-01L,
75 +5.7031250000000000000000000000000645187e-01L,
76 +5.8593749999999999999999999999999807407e-01L,
77 +6.0156250000000000000000000000000182963e-01L,
78 +6.1718750000000000000000000000000048148e-01L,
79 +6.3281250000000000000000000000000943706e-01L,
80 +6.4843749999999999999999999999999470369e-01L,
81 +6.6406250000000000000000000000000192593e-01L,
82 +6.7968750000000000000000000000000693335e-01L,
83 +6.9531250000000000000000000000001482966e-01L,
84 +7.1093750000000000000000000000000154074e-01L,
85 +7.2656250000000000000000000000000385186e-01L,
86 +7.4218750000000000000000000000000115556e-01L,
87 +7.5781250000000000000000000000000048148e-01L,
88 +7.7343749999999999999999999999999942222e-01L,
89 +7.8906249999999999999999999999999720740e-01L,
90 +8.0468749999999999999999999999999634073e-01L,
91 +8.2031249999999999999999999999999797777e-01L,
92 +8.3593750000000000000000000000000828150e-01L,
93 +8.5156249999999999999999999999999865185e-01L,
94 +8.6718749999999999999999999999999682222e-01L,
95 +8.8281249999999999999999999999999749629e-01L,
96 +8.9843749999999999999999999999999836296e-01L,
97 +9.1406249999999999999999999999999229628e-01L,
98 +9.2968750000000000000000000000000462223e-01L,
99 +9.4531249999999999999999999999999499258e-01L,
100 +9.6093749999999999999999999999999894074e-01L,
101 +9.7656249999999999999999999999999855555e-01L,
102 +9.9218750000000000000000000000000028889e-01L,
103 +1.0078124999999999999999999999999870963e+00L,
104 +1.0234375000000000000000000000000003852e+00L,
105 +1.0390624999999999999999999999999998074e+00L,
106 +1.0546874999999999999999999999999801629e+00L,
107 +1.0703125000000000000000000000000182963e+00L,
108 +1.0859375000000000000000000000000021185e+00L,
109 +1.1015624999999999999999999999999978815e+00L,
110 +1.1171874999999999999999999999999986518e+00L,
111 +1.1328124999999999999999999999999984593e+00L,
112 +1.1484374999999999999999999999999980741e+00L,
113 +1.1640625000000000000000000000000000000e+00L,
114 +1.1796874999999999999999999999999998074e+00L,
115 +1.1953125000000000000000000000000196445e+00L,
116 +1.2109374999999999999999999999999976889e+00L,
117 +1.2265625000000000000000000000000017333e+00L,
118 +1.2421874999999999999999999999999976889e+00L,
119 +1.2578124999999999999999999999999980741e+00L,
120 +1.2734374999999999999999999999999951852e+00L,
121 -7.8125000000000000000000000000074012886e-03L,
122 -2.3437499999999999999999999999997418050e-02L,
123 -3.9062499999999999999999999999998134255e-02L,
124 -5.4687500000000000000000000000006361587e-02L,
125 -7.0312500000000000000000000000006271309e-02L,
126 -8.5937500000000000000000000000001721300e-02L,
127 -1.0156250000000000000000000000000020463e-01L,
128 -1.1718750000000000000000000000000290093e-01L,
129 -1.3281249999999999999999999999999987963e-01L,
130 -1.4843749999999999999999999999999942222e-01L,
131 -1.6406250000000000000000000000000026482e-01L,
132 -1.7968750000000000000000000000000052963e-01L,
133 -1.9531249999999999999999999999999867592e-01L,
134 -2.1093750000000000000000000000000081852e-01L,
135 -2.2656250000000000000000000000000250371e-01L,
136 -2.4218749999999999999999999999999718333e-01L,
137 -2.5781250000000000000000000000001059261e-01L,
138 -2.7343749999999999999999999999999557036e-01L,
139 -2.8906250000000000000000000000000520001e-01L,
140 -3.0468749999999999999999999999999792963e-01L,
141 -3.2031250000000000000000000000000231112e-01L,
142 -3.3593749999999999999999999999999383702e-01L,
143 -3.5156249999999999999999999999999903704e-01L,
144 -3.6718749999999999999999999999999634073e-01L,
145 -3.8281249999999999999999999999999956667e-01L,
146 -3.9843750000000000000000000000000004815e-01L,
147 -4.1406249999999999999999999999999870000e-01L,
148 -4.2968750000000000000000000000000216667e-01L,
149 -4.4531250000000000000000000000000072222e-01L,
150 -4.6093749999999999999999999999999513703e-01L,
151 -4.7656250000000000000000000000000539260e-01L,
152 -4.9218749999999999999999999999999759259e-01L,
153 -5.0781250000000000000000000000000067408e-01L,
154 -5.2343750000000000000000000000001386670e-01L,
155 -5.3906249999999999999999999999996427400e-01L,
156 -5.5468750000000000000000000000000404445e-01L,
157 -5.7031249999999999999999999999998536293e-01L,
158 -5.8593749999999999999999999999999634073e-01L,
159 -6.0156250000000000000000000000000028889e-01L,
160 -6.1718749999999999999999999999998468886e-01L,
161 -6.3281249999999999999999999999999335554e-01L,
162 -6.4843750000000000000000000000000356297e-01L,
163 -6.6406250000000000000000000000000019259e-01L,
164 -6.7968750000000000000000000000000067408e-01L,
165 -6.9531249999999999999999999999998439997e-01L,
166 -7.1093750000000000000000000000000009630e-01L,
167 -7.2656250000000000000000000000000414075e-01L,
168 -7.4218749999999999999999999999998738516e-01L,
169 -7.5781250000000000000000000000000019259e-01L,
170 -7.7343750000000000000000000000000808891e-01L,
171 -7.8906250000000000000000000000000028889e-01L,
172 -8.0468750000000000000000000000000096296e-01L,
173 -8.2031249999999999999999999999999634073e-01L,
174 -8.3593750000000000000000000000000086667e-01L,
175 -8.5156250000000000000000000000000115556e-01L,
176 -8.6718750000000000000000000000000028889e-01L,
177 -8.8281250000000000000000000000000577779e-01L,
178 -8.9843750000000000000000000000000587409e-01L,
179 -9.1406250000000000000000000000000654816e-01L,
180 -9.2968749999999999999999999999999210369e-01L,
181 -9.4531250000000000000000000000000115556e-01L,
182 -9.6093749999999999999999999999999682222e-01L,
183 -9.7656250000000000000000000000000298519e-01L,
184 -9.9218749999999999999999999999999711111e-01L,
185 -1.0078124999999999999999999999999953778e+00L,
186 -1.0234375000000000000000000000000279260e+00L,
187 -1.0390625000000000000000000000000000000e+00L,
188 -1.0546875000000000000000000000000042370e+00L,
189 -1.0703124999999999999999999999999969185e+00L,
190 -1.0859374999999999999999999999999965333e+00L,
191 -1.1015625000000000000000000000000144445e+00L,
192 -1.1171875000000000000000000000000007704e+00L,
193 -1.1328125000000000000000000000000052000e+00L,
194 -1.1484375000000000000000000000000021185e+00L,
195 -1.1640625000000000000000000000000188741e+00L,
196 -1.1796874999999999999999999999999915259e+00L,
197 -1.1953125000000000000000000000000196445e+00L,
198 -1.2109374999999999999999999999999965333e+00L,
199 -1.2265624999999999999999999999999940296e+00L,
200 -1.2421874999999999999999999999999955704e+00L,
201 -1.2578125000000000000000000000000036593e+00L,
202 -1.2734375000000000000000000000000005778e+00L,
203 };
204
205 const long double _TBL_expm1l[] = {
206 +7.8430972064479776934535597601230757455e-03L,
207 +2.3714316602357916968850532165767719684e-02L,
208 +3.9835471336230000576622009875172135295e-02L,
209 +5.6210497316931971181336703768137839969e-02L,
210 +7.2843392434877444411300095010815562014e-02L,
211 +8.9738217538093231018282025418516874073e-02L,
212 +1.0689909742365748278760239374175648642e-01L,
213 +1.2433022184475071745173290544494115241e-01L,
214 +1.4203584653356558967616143134879189360e-01L,
215 +1.6002029424032514702921521389409692713e-01L,
216 +1.7828795578866324266314330819585528511e-01L,
217 +1.9684329114762477118219685277015441058e-01L,
218 +2.1569083052054745183001825454039531082e-01L,
219 +2.3483517545109100468401611087600122614e-01L,
220 +2.5428099994668375200482125309068587301e-01L,
221 +2.7403305161966092927649653871633746915e-01L,
222 +2.9409615284637330982611062681002354822e-01L,
223 +3.1447520194454913428413492197987169290e-01L,
224 +3.3517517436919679261104091066359163835e-01L,
225 +3.5620112392734023305848825938576026618e-01L,
226 +3.7755818401188367036076223788924855083e-01L,
227 +3.9925156885490683578620594549518425777e-01L,
228 +4.2128657480069675555953993770759156716e-01L,
229 +4.4366858159882686275236684344276542291e-01L,
230 +4.6640305371759914220725806222619001343e-01L,
231 +4.8949554167816997960557644740137111180e-01L,
232 +5.1295168340968543562438375411433268970e-01L,
233 +5.3677720562575679548630956319776281677e-01L,
234 +5.6097792522261245434042965895343734385e-01L,
235 +5.8555975069926749109404773234379454282e-01L,
236 +6.1052868360005765883685767151390117210e-01L,
237 +6.3589081997988998017269448860547030419e-01L,
238 +6.6165235189256768193303746403901387346e-01L,
239 +6.8781956890255283724467962874956344875e-01L,
240 +7.1439885962053580513691701731111144172e-01L,
241 +7.4139671326318637019829227657113109938e-01L,
242 +7.6881972123746738864840365608134114398e-01L,
243 +7.9667457874989774401796242919906293119e-01L,
244 +8.2496808644115750689424843988747369733e-01L,
245 +8.5370715204643438037652998773947217833e-01L,
246 +8.8289879208191679750745518776052322714e-01L,
247 +9.1255013355784542053624989476899678486e-01L,
248 +9.4266841571854127598629758313676072782e-01L,
249 +9.7326099180983534572639774176307759762e-01L,
250 +1.0043353308743311241896996041635484486e+00L,
251 +1.0358990195749384471803078942778539846e+00L,
252 +1.0679597640471238000138982954032239149e+00L,
253 +1.1005253917803293237405302109843095228e+00L,
254 +1.1336038535290198596069082796475886372e+00L,
255 +1.1672032252538246054702826653026856058e+00L,
256 +1.2013317100932473053430319197695098859e+00L,
257 +1.2359976403664263564195928556324051853e+00L,
258 +1.2712094796074337986378900692396989892e+00L,
259 +1.3069758246316098519065681271390426992e+00L,
260 +1.3433054076344374874670823571053750423e+00L,
261 +1.3802070983234694643656048039370676504e+00L,
262 +1.4176899060838283316233663173665695732e+00L,
263 +1.4557629821778080933856445408266366139e+00L,
264 +1.4944356219791145601003068865880283870e+00L,
265 +1.5337172672422898656593276319684411587e+00L,
266 +1.5736175084078752204957296405891018055e+00L,
267 +1.6141460869438746959611789503655886752e+00L,
268 +1.6553128977240916980462361132966809382e+00L,
269 +1.6971279914439187908098398388318058200e+00L,
270 +1.7396015770741706739548391625061335312e+00L,
271 +1.7827440243535594070547844776995992896e+00L,
272 +1.8265658663204204072713762882878497127e+00L,
273 +1.8710778018843073303053045700866748054e+00L,
274 +1.9162906984380836781353147778063807290e+00L,
275 +1.9622155945111488641976761209920359164e+00L,
276 +2.0088637024644465094546949911966296733e+00L,
277 +2.0562464112279129437484158431835361592e+00L,
278 +2.1043752890810342484246997824723919209e+00L,
279 +2.1532620864771907009732038831535016010e+00L,
280 +2.2029187389124781729299756967091584890e+00L,
281 +2.2533573698397068911414662577557965622e+00L,
282 +2.3045902936282890023428920188543322512e+00L,
283 +2.3566300185707375845529318204056188573e+00L,
284 +2.4094892499365111287660263409108200844e+00L,
285 +2.4631808930739490736114262571853290077e+00L,
286 +2.5177180565610557168667363422785819682e+00L,
287 +2.5731140554059017538295927080989585090e+00L,
288 -7.7820617397564878940627738863895136168e-03L,
289 -2.3164975049937966141654020345517900132e-02L,
290 -3.8309398394574704340244721980137502162e-02L,
291 -5.3219029217871103345945692892173875140e-02L,
292 -6.7897507640472422098597150880870814431e-02L,
293 -8.2348417348184187852664478898998721220e-02L,
294 -9.6575286466913289047103004903893595054e-02L,
295 -1.1058158842404436382535801893754083366e-01L,
296 -1.2437074279646178545389116639858446817e-01L,
297 -1.3794611614542428546897208319214646321e-01L,
298 -1.5131102283849604551092782942638950286e-01L,
299 -1.6446872585873492869892658849405193342e-01L,
300 -1.7742243760133541028616024893906020644e-01L,
301 -1.9017532065792070445541830028432254804e-01L,
302 -2.0273048858867556872072433107848955384e-01L,
303 -2.1509100668250829875574108587424583890e-01L,
304 -2.2725989270542750384925893490015094814e-01L,
305 -2.3924011763731637587872084997993792064e-01L,
306 -2.5103460639728433199192216502316397159e-01L,
307 -2.6264623855777312240316411149867979990e-01L,
308 -2.7407784904759174916236707216223561007e-01L,
309 -2.8533222884405183877364930326430409924e-01L,
310 -2.9641212565437245046372839566093886675e-01L,
311 -3.0732024458652068208051596680746383072e-01L,
312 -3.1805924880965185639883349668276001738e-01L,
313 -3.2863176020431053139357768964876694788e-01L,
314 -3.3904036000255107819096872094974754682e-01L,
315 -3.4928758941813410931539692705947339063e-01L,
316 -3.5937595026695261691197788694876862518e-01L,
317 -3.6930790557783929525168292907013160482e-01L,
318 -3.7908588019390417343445352368401927192e-01L,
319 -3.8871226136454937222268435896035706784e-01L,
320 -3.9818939932830552279841068785563696096e-01L,
321 -4.0751960788663214438675145523141552015e-01L,
322 -4.1670516496882207157854692957232201487e-01L,
323 -4.2574831318814785027807613334156070311e-01L,
324 -4.3465126038938588296698375694570623290e-01L,
325 -4.4341618018785199889104786302733041801e-01L,
326 -4.5204521250008005232823143909224611574e-01L,
327 -4.6054046406627311177860364731167719334e-01L,
328 -4.6890400896465479423105583940253757841e-01L,
329 -4.7713788911784632111786130180348641941e-01L,
330 -4.8524411479139292568322765140558720714e-01L,
331 -4.9322466508456132479074344820321183415e-01L,
332 -5.0108148841352808120907176750144850100e-01L,
333 -5.0881650298707682468469397665961648404e-01L,
334 -5.1643159727492047118140006480748942245e-01L,
335 -5.2392863046876277909203259884139061144e-01L,
336 -5.3130943293621180856911747373956708600e-01L,
337 -5.3857580666765610494466923948125161529e-01L,
338 -5.4572952571621270908956480845806990458e-01L,
339 -5.5277233663085440607996537742519552762e-01L,
340 -5.5970595888282195827936433920573211501e-01L,
341 -5.6653208528542542950338319090135722295e-01L,
342 -5.7325238240733709291016556235278458118e-01L,
343 -5.7986849097947682625807457952262425338e-01L,
344 -5.8638202629558933380643321697780798620e-01L,
345 -5.9279457860661099402232802681583606392e-01L,
346 -5.9910771350892261602101192647121362362e-01L,
347 -6.0532297232658289493900937468812013977e-01L,
348 -6.1144187248763588685320419660027392238e-01L,
349 -6.1746590789458437705718363441235796711e-01L,
350 -6.2339654928911959113469156706514092208e-01L,
351 -6.2923524461119629598145525663487507890e-01L,
352 -6.3498341935254095737853086332102468069e-01L,
353 -6.4064247690467926157560858675744165996e-01L,
354 -6.4621379890156797026959945044832806294e-01L,
355 -6.5169874555691476103560779451668832748e-01L,
356 -6.5709865599626840836245660190447925603e-01L,
357 -6.6241484858396038364664323096343822726e-01L,
358 -6.6764862124497769549523628863318702845e-01L,
359 -6.7280125178184555417288842186006604551e-01L,
360 -6.7787399818659722569870081614203949644e-01L,
361 -6.8286809894790724165768340684449330930e-01L,
362 -6.8778477335346294994617200009875163606e-01L,
363 -6.9262522178764822913249147051072428209e-01L,
364 -6.9739062602461204459956440664519817754e-01L,
365 -7.0208214951679339786562882012396622127e-01L,
366 -7.0670093767897311117765076057926938575e-01L,
367 -7.1124811816792179736856679611852620191e-01L,
368 -7.1572480115771228979753508374143873445e-01L,
369 -7.2013207961076374868941367244540733250e-01L,
370 };