xref: /netbsd-src/external/lgpl3/mpfr/dist/src/powerpc64/mparam.h (revision ba125506a622fe649968631a56eba5d42ff57863)
1 /* Various Thresholds of MPFR, not exported.  -*- mode: C -*-
2 
3 Copyright 2005-2023 Free Software Foundation, Inc.
4 
5 This file is part of the GNU MPFR Library.
6 
7 The GNU MPFR Library is free software; you can redistribute it and/or modify
8 it under the terms of the GNU Lesser General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or (at your
10 option) any later version.
11 
12 The GNU MPFR Library is distributed in the hope that it will be useful, but
13 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
15 License for more details.
16 
17 You should have received a copy of the GNU Lesser General Public License
18 along with the GNU MPFR Library; see the file COPYING.LESSER.  If not, see
19 https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
20 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
21 
22 /* Generated by MPFR's tuneup.c, 2018-02-22, gcc 4.8.5 */
23 /* generated on gcc110.fsffrance.org (POWER7) with GMP 6.1.2,
24    where GMP uses -m64  -mtune=power7 -O3 */
25 
26 #define MPFR_MULHIGH_TAB  \
27  -1,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0, \
28  0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19, \
29  21,21,22,24,24,24,24,24,24,24,24,24,30,30,32,42, \
30  30,34,34,34,34,38,38,32,32,32,40,40,52,40,42,42, \
31  42,52,52,52,52,48,48,48,48,52,52,52,52,52,52,52, \
32  52,52,52,52,52,52,56,52,52,60,60,60,60,60,64,60, \
33  64,68,68,68,68,68,68,68,68,75,68,74,68,78,75,74, \
34  75,68,75,86,78,87,87,87,93,93,87,87,87,93,87,87, \
35  87,99,86,87,87,87,99,90,92,93,84,99,99,74,93,99, \
36  99,99,98,126,99,99,99,99,102,102,102,104,104,108,110,110, \
37  108,111,111,114,114,117,117,117,117,117,122,123,123,123,123,123, \
38  123,123,126,128,128,123,141,153,123,141,141,141,138,141,141,152, \
39  153,153,120,153,152,153,153,153,152,162,153,117,153,153,153,153, \
40  153,153,128,153,153,152,153,153,153,152,153,153,153,153,153,156, \
41  156,152,153,153,153,153,153,153,153,153,153,153,153,153,153,177, \
42  177,177,177,153,176,216,153,177,204,153,204,177,168,204,204,168, \
43  204,204,204,204,204,177,204,204,204,204,204,204,202,204,204,204, \
44  204,204,204,202,203,204,204,204,204,204,204,204,204,204,204,204, \
45  204,204,203,204,204,204,204,204,204,204,204,204,204,204,204,204, \
46  236,204,204,234,204,204,203,236,236,236,236,236,236,236,236,236, \
47  236,236,235,236,235,236,236,236,236,236,236,236,236,236,236,236, \
48  236,236,236,236,236,236,268,268,236,268,236,268,268,268,268,268, \
49  268,268,268,266,267,268,267,268,268,268,268,268,267,268,268,268, \
50  268,268,267,268,268,306,306,306,306,304,305,306,306,336,306,306, \
51  236,305,306,306,306,306,306,306,306,306,306,306,306,306,306,306, \
52  306,306,306,306,306,306,306,306,306,306,306,306,306,306,305,306, \
53  306,306,306,306,306,306,306,306,330,306,306,305,306,306,306,305, \
54  306,306,306,306,354,306,354,354,353,306,353,354,354,354,354,354, \
55  354,354,353,354,354,354,353,354,354,354,354,354,354,354,354,354, \
56  424,354,354,354,354,354,353,354,354,354,352,408,354,354,354,354, \
57  354,408,408,354,408,408,408,407,408,408,408,408,408,408,407,408, \
58  408,408,408,408,402,408,402,402,407,408,408,408,408,408,408,407, \
59  408,408,408,408,408,408,408,408,408,408,408,408,408,408,408,408, \
60  406,407,408,408,408,408,408,408,408,406,408,408,408,408,407,408, \
61  408,408,407,408,408,407,408,408,408,408,408,407,407,408,408,408, \
62  408,408,408,472,472,472,472,472,472,472,472,472,472,472,472,472, \
63  472,472,472,472,472,472,472,472,471,472,472,472,472,472,472,472, \
64  470,471,472,472,472,472,472,472,472,472,472,472,472,472,472,472, \
65  472,472,471,472,472,470,472,472,472,472,470,471,472,472,472,472, \
66  472,472,472,472,536,536,536,536,535,536,535,536,536,536,535,536, \
67  536,536,536,535,536,536,536,534,535,536,536,536,536,536,536,536, \
68  536,535,536,536,536,536,536,536,536,536,535,536,536,536,536,536, \
69  536,536,535,535,536,535,536,536,536,536,536,535,536,536,536,536, \
70  536,536,536,535,536,536,536,536,536,536,536,536,536,591,536,536, \
71  536,536,592,590,536,591,592,592,592,591,591,592,592,591,592,592, \
72  592,591,591,592,592,592,592,592,592,592,591,592,592,590,590,592, \
73  592,592,590,591,592,592,592,592,592,592,592,592,592,592,592,592, \
74  591,592,592,592,592,591,592,592,616,592,592,591,591,616,592,592, \
75  592,592,616,616,616,592,616,616,592,616,592,616,640,616,616,591, \
76  592,592,589,592,640,591,592,616,688,688,592,688,688,687,688,686, \
77  688,688,688,688,687,688,688,688,686,687,688,688,688,687,688,688, \
78  688,686,688,688,688,615,688,685,688,688,687,688,688,687,688,688, \
79  688,688,686,687,688,688,688,688,688,688,688,688,688,687,687,688, \
80  688,688,688,688,688,688,688,688,688,686,687,688,688,688,688,688, \
81  688,688,712,736,736,688,686,736,688,736,688,736,687,735,736,736, \
82  688,736,734,735,736,688,688,736,688,736,688,687,687,688,688,688, \
83  688,736,736,688,688,736,736,736,736,736,784,736,688,736,736,782, \
84  783,784,783,784,784,784,784,776,784,784,783,784,784,782,783,784, \
85  784,784,784,783,784,784,783,784,784,784,784,784,784,784,784,784, \
86  783,784,784,784,783,783,784,784,784,784,784,784,784,784,784,784, \
87  784,784,784,783,784,784,783,783,784,784,784,782,783,784,784,783, \
88  784,784,783,784,783,784,784,784,784,783,784,783,784,784,784,784, \
89  784,784,783,784,784,783,784,784,784,783,784,784,784,784,784,783, \
90  782,783,784,784,784,784,784,784,784,784,783,784,784,784,784,784 \
91 
92 #define MPFR_SQRHIGH_TAB  \
93  -1,0,-1,0,0,0,-1,-1,-1,7,8,-1,10,11,11,11, \
94  11,11,11,11,13,13,13,13,15,15,15,15,16,17,19,19, \
95  19,19,19,19,21,22,23,23,23,23,24,25,27,27,25,29, \
96  27,27,29,29,31,31,31,31,31,38,38,38,38,38,38,38, \
97  38,36,36,38,38,38,38,38,42,42,44,42,46,44,46,44, \
98  45,46,46,46,46,46,50,54,50,50,52,52,54,54,54,50, \
99  52,52,54,54,52,52,54,54,54,54,56,58,60,60,60,62, \
100  60,62,62,64,64,64,76,75,76,76,76,72,75,76,76,76, \
101  76,76,76,76,84,84,76,76,84,88,88,88,88,92,92,92, \
102  92,92,92,84,92,76,92,92,88,92,92,92,88,90,92,92, \
103  92,88,92,92,91,91,92,92,91,92,92,92,92,92,92,92, \
104  92,92,95,111,111,111,111,110,111,111,111,111,111,111,111,111, \
105  111,111,111,111,111,114,111,114,117,116,111,110,121,116,129,129, \
106  134,135,135,135,129,135,192,135,135,135,135,135,135,135,135,135, \
107  135,135,141,135,129,129,129,135,135,135,135,135,135,134,135,141, \
108  140,141,141,135,144,135,160,184,147,141,147,153,147,152,153,159, \
109  153,159,159,159,159,159,159,165,159,159,159,159,159,165,164,159, \
110  159,159,158,159,159,159,177,171,177,159,159,177,158,177,159,159, \
111  159,158,159,159,159,171,171,159,159,171,171,159,177,177,171,171, \
112  177,174,177,159,177,177,171,177,176,177,171,171,177,177,176,171, \
113  177,177,177,175,176,177,177,176,177,177,204,204,196,196,204,212, \
114  204,188,212,212,196,196,211,212,212,212,212,212,212,212,211,212, \
115  204,204,212,212,212,212,212,211,212,212,212,212,212,220,220,236, \
116  220,220,220,228,228,228,220,236,228,228,228,236,236,244,234,235, \
117  236,236,236,236,244,244,236,243,244,244,244,244,244,244,244,236, \
118  244,244,227,236,243,236,244,236,236,236,244,244,244,244,244,244, \
119  244,244,244,244,244,244,220,219,220,244,228,220,236,236,228,233, \
120  236,235,236,236,236,240,236,244,236,236,244,244,242,243,244,243, \
121  244,244,244,244,244,244,243,244,244,236,244,244,244,318,318,244, \
122  244,244,318,318,318,270,244,318,244,244,270,270,270,270,318,318, \
123  318,318,318,318,282,318,318,318,318,318,318,318,318,318,318,318, \
124  294,293,294,318,294,294,305,306,306,306,294,305,306,317,306,306, \
125  306,306,318,318,318,318,318,317,318,317,318,318,318,318,318,318, \
126  330,318,318,317,306,318,318,317,318,318,318,318,342,342,342,318, \
127  318,318,318,408,318,318,318,330,354,342,318,318,354,353,354,354, \
128  354,354,342,354,353,354,354,360,342,354,342,354,353,342,354,354, \
129  342,341,342,353,354,354,354,353,354,354,354,354,354,354,354,354, \
130  354,354,354,360,360,376,392,318,423,424,391,424,376,376,392,376, \
131  392,391,408,392,376,392,408,423,424,424,392,424,423,424,424,424, \
132  424,354,424,408,424,424,424,424,424,424,408,424,424,423,408,424, \
133  424,408,424,424,424,424,424,424,424,423,424,424,424,424,424,424, \
134  424,439,423,424,424,424,424,424,424,424,440,440,424,439,423,424, \
135  600,439,423,424,456,424,424,472,424,424,456,456,456,423,424,424, \
136  456,424,424,472,472,472,424,424,424,471,472,424,424,424,424,424, \
137  424,424,472,472,488,424,423,424,424,424,488,488,488,439,488,487, \
138  440,440,440,488,488,488,472,440,456,440,472,456,455,455,472,472, \
139  456,456,456,472,456,472,472,472,472,488,488,471,471,486,472,472, \
140  472,472,472,472,472,471,472,472,472,472,471,488,488,488,488,488, \
141  488,504,488,504,600,391,488,752,488,488,488,408,568,488,488,488, \
142  488,488,488,487,488,488,488,488,488,488,488,488,488,472,472,488, \
143  488,488,488,599,488,600,600,488,488,488,599,600,600,599,600,488, \
144  600,600,599,600,600,600,600,600,600,600,600,600,600,600,600,599, \
145  598,599,600,600,600,599,600,600,600,600,616,600,424,568,568,568, \
146  568,584,568,600,598,568,600,568,431,824,600,600,600,599,600,600, \
147  600,600,600,600,-1,784,600,600,600,599,595,600,600,440,600,600, \
148  600,600,600,600,600,599,600,600,600,600,597,600,600,600,600,600, \
149  600,600,600,597,600,600,600,600,600,600,600,600,599,600,599,600, \
150  600,600,600,599,600,600,599,600,600,600,600,598,662,600,600,600, \
151  600,600,600,600,599,599,600,600,664,600,600,599,600,664,664,663, \
152  664,664,664,600,664,664,664,664,664,664,600,664,664,664,664,664, \
153  600,600,600,664,600,663,600,600,600,600,664,600,600,600,696,664, \
154  696,598,600,600,600,664,600,600,664,664,600,600,600,600,600,600, \
155  600,600,728,728,600,728,728,728,728,600,725,727,727,728,727,728, \
156  727,728,728,727,728,728,728,728,728,728,728,728,727,728,728,728 \
157 
158 #define MPFR_DIVHIGH_TAB  \
159  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*0-15*/ \
160  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*16-31*/ \
161  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*32-47*/ \
162  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*48-63*/ \
163  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41, /*64-79*/ \
164  42,42,0,0,48,48,0,46,48,48,50,49,49,48,49,50, /*80-95*/ \
165  51,0,0,0,79,52,0,0,0,54,57,68,60,58,0,59, /*96-111*/ \
166  58,59,62,0,60,66,68,66,68,68,68,66,66,68,68,68, /*112-127*/ \
167  76,68,76,68,68,69,75,76,70,79,73,84,76,75,78,76, /*128-143*/ \
168  81,84,80,80,84,81,80,84,84,80,80,81,80,84,84,85, /*144-159*/ \
169  84,83,104,96,84,96,96,92,96,96,96,132,104,100,98,104, /*160-175*/ \
170  104,104,104,104,104,104,104,104,104,104,104,104,104,104,100,100, /*176-191*/ \
171  104,104,112,104,100,120,120,104,104,119,112,112,118,104,120,120, /*192-207*/ \
172  112,120,118,118,119,120,113,114,119,112,128,136,112,120,116,122, /*208-223*/ \
173  118,132,120,119,120,136,118,120,119,120,128,136,128,136,132,136, /*224-239*/ \
174  132,128,136,135,136,132,128,136,130,136,136,132,135,135,136,132, /*240-255*/ \
175  132,136,136,134,135,135,136,149,135,136,135,136,136,136,138,140, /*256-271*/ \
176  156,150,156,148,150,149,161,150,148,162,160,148,156,160,150,152, /*272-287*/ \
177  157,150,168,160,160,150,150,152,160,160,168,168,168,156,156,160, /*288-303*/ \
178  156,161,160,168,160,160,160,162,168,160,160,167,168,166,174,173, /*304-319*/ \
179  167,168,198,192,168,168,174,192,168,192,168,168,168,168,184,192, /*320-335*/ \
180  192,194,208,193,192,192,192,192,208,192,192,208,197,206,204,208, /*336-351*/ \
181  192,207,200,204,204,191,192,208,204,208,192,208,208,208,208,209, /*352-367*/ \
182  208,208,208,208,208,216,192,208,192,209,192,198,208,206,204,208, /*368-383*/ \
183  208,208,208,207,208,208,216,208,208,216,208,208,208,208,206,208, /*384-399*/ \
184  208,206,207,222,206,208,208,208,208,209,208,207,240,208,209,223, /*400-415*/ \
185  240,233,240,220,234,216,240,240,219,233,240,222,222,224,224,232, /*416-431*/ \
186  240,240,239,240,236,240,240,240,240,241,240,238,240,240,240,240, /*432-447*/ \
187  300,240,245,239,240,240,233,240,236,240,240,240,240,240,241,236, /*448-463*/ \
188  240,426,240,240,240,256,240,240,240,240,239,240,270,272,241,241, /*464-479*/ \
189  256,246,245,256,246,245,257,272,246,256,256,272,264,272,272,268, /*480-495*/ \
190  256,256,272,255,272,264,256,270,270,272,272,272,269,256,304,272, /*496-511*/ \
191  268,300,306,300,272,304,300,299,264,300,294,270,270,490,272,300, /*512-527*/ \
192  272,272,272,300,306,300,301,298,304,300,300,312,298,304,304,306, /*528-543*/ \
193  300,299,306,312,336,312,300,298,298,300,300,318,288,299,282,305, /*544-559*/ \
194  304,298,304,305,299,303,300,300,300,304,304,312,312,306,306,299, /*560-575*/ \
195  304,312,312,312,300,312,324,304,529,299,300,318,306,312,336,304, /*576-591*/ \
196  300,300,300,306,312,312,312,332,305,336,336,384,336,312,324,312, /*592-607*/ \
197  316,312,348,312,312,328,312,353,336,320,336,336,336,318,336,332, /*608-623*/ \
198  335,348,336,336,328,324,335,336,336,322,335,336,336,336,324,328, /*624-639*/ \
199  384,384,384,336,384,336,336,336,336,336,336,384,336,342,335,384, /*640-655*/ \
200  336,336,384,335,384,336,336,383,335,408,335,408,336,384,408,384, /*656-671*/ \
201  408,408,407,384,384,408,416,384,384,408,408,384,408,408,408,408, /*672-687*/ \
202  408,408,384,408,408,408,408,408,416,408,416,408,408,408,408,416, /*688-703*/ \
203  408,384,408,416,416,408,408,408,408,408,408,407,408,408,416,384, /*704-719*/ \
204  408,407,408,408,384,383,406,407,407,416,384,415,416,408,416,408, /*720-735*/ \
205  407,416,408,408,416,406,384,384,408,408,408,406,408,407,408,408, /*736-751*/ \
206  384,408,408,408,408,416,408,408,408,416,415,408,384,408,415,408, /*752-767*/ \
207  408,408,408,405,408,408,408,408,408,408,408,408,416,416,416,408, /*768-783*/ \
208  416,416,406,416,408,414,407,408,407,407,414,408,408,408,416,408, /*784-799*/ \
209  415,416,416,408,408,416,415,416,416,416,416,416,416,416,448,415, /*800-815*/ \
210  416,472,416,416,415,416,415,480,416,416,416,480,440,416,480,448, /*816-831*/ \
211  440,464,440,466,477,424,472,432,470,472,456,460,464,480,448,480, /*832-847*/ \
212  440,480,480,480,472,464,480,464,480,472,467,480,480,479,480,480, /*848-863*/ \
213  478,480,472,472,480,480,479,480,472,480,480,470,480,480,480,472, /*864-879*/ \
214  480,468,464,470,472,472,476,480,480,472,478,478,480,480,877,472, /*880-895*/ \
215  480,479,480,480,512,480,479,480,756,466,472,480,466,464,478,466, /*896-911*/ \
216  480,480,472,480,462,480,472,480,478,478,480,480,479,480,480,480, /*912-927*/ \
217  488,480,478,472,480,480,488,480,480,480,480,472,480,480,480,536, /*928-943*/ \
218  477,512,480,480,480,536,480,477,479,480,480,792,511,512,512,512, /*944-959*/ \
219  493,512,501,512,527,512,528,536,488,536,512,536,512,512,535,528, /*960-975*/ \
220  508,534,512,512,512,512,544,512,532,512,528,534,536,536,544,536, /*976-991*/ \
221  535,540,528,528,610,536,528,528,609,612,608,536,544,612,544,536, /*992-1007*/ \
222  540,536,612,536,607,536,612,610,610,612,612,612,612,544,612,611 /*1008-1023*/ \
223 
224 #define MPFR_MUL_THRESHOLD 9 /* limbs */
225 #define MPFR_SQR_THRESHOLD 14 /* limbs */
226 #define MPFR_DIV_THRESHOLD 3 /* limbs */
227 #define MPFR_EXP_2_THRESHOLD 580 /* bits */
228 #define MPFR_EXP_THRESHOLD 10480 /* bits */
229 #define MPFR_SINCOS_THRESHOLD 22904 /* bits */
230 #define MPFR_AI_THRESHOLD1 -12474 /* threshold for negative input of mpfr_ai */
231 #define MPFR_AI_THRESHOLD2 1158
232 #define MPFR_AI_THRESHOLD3 20165
233 /* Tuneup completed successfully, took 571 seconds */
234