mparam.h revision 1.1.1.1
1/* Various Thresholds of MPFR, not exported. -*- mode: C -*- 2 3Copyright 2005-2018 Free Software Foundation, Inc. 4 5This file is part of the GNU MPFR Library. 6 7The GNU MPFR Library is free software; you can redistribute it and/or modify 8it under the terms of the GNU Lesser General Public License as published by 9the Free Software Foundation; either version 3 of the License, or (at your 10option) any later version. 11 12The GNU MPFR Library is distributed in the hope that it will be useful, but 13WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 14or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 15License for more details. 16 17You should have received a copy of the GNU Lesser General Public License 18along with the GNU MPFR Library; see the file COPYING.LESSER. If not, see 19http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc., 2051 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */ 21 22/* Generated by MPFR's tuneup.c, 2012-03-05, gcc 4.4.6 23 on gcc49.fsffrance.org (Loongson 3A) with GMP 5.0.4 24 configured with ac_cv_func_getrusage=no */ 25 26 27#define MPFR_MULHIGH_TAB \ 28 -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \ 29 0,0,0,0,0,0,0,16,16,16,16,16,16,18,18,18, \ 30 18,20,20,20,20,22,22,22,24,32,32,32,32,32,32,32, \ 31 32,32,32,32,32,36,36,36,36,32,36,36,36,36,36,36, \ 32 36,40,40,40,40,40,44,44,44,44,44,44,48,64,64,64, \ 33 64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, \ 34 64,64,64,64,64,64,72,72,72,72,64,64,64,64,64,64, \ 35 64,64,64,72,72,72,72,93,93,93,93,93,93,93,93,93, \ 36 93,93,93,93,93,93,93,93,93,93,93,93,93,93,96,93, \ 37 96,93,96,105,105,105,105,105,105,105,105,105,105,105,105,105, \ 38 105,105,108,105,117,117,117,117,117,117,117,117,117,117,117,117, \ 39 117,117,117,117,117,117,117,117,129,129,129,129,129,129,129,129, \ 40 129,129,129,129,129,129,129,129,129,129,141,141,117,117,117,117, \ 41 117,117,129,129,128,129,129,129,189,189,189,189,189,189,189,189, \ 42 189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189, \ 43 189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189, \ 44 189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189, \ 45 189,189,189,189,189,189,189,188,189,189,192,189,189,189,189,189, \ 46 189,189,189,189,189,189,213,213,213,213,213,213,213,213,213,213, \ 47 213,213,213,213,213,213,213,212,213,213,213,213,213,213,213,213, \ 48 213,213,213,213,213,213,237,237,237,213,213,237,276,237,276,275, \ 49 276,276,276,276,276,276,276,276,276,276,276,276,276,276,276,283, \ 50 276,276,276,276,276,276,276,276,276,276,276,276,276,276,276,276, \ 51 276,275,276,276,276,276,285,283,283,283,285,283,283,285,285,285, \ 52 285,285,378,377,378,378,378,378,378,378,378,378,378,378,378,378, \ 53 378,377,378,378,378,378,378,378,378,378,378,378,378,378,378,378, \ 54 378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378, \ 55 378,378,378,378,378,378,377,378,378,378,378,378,378,378,378,378, \ 56 378,378,378,378,378,378,378,378,378,377,378,378,378,378,378,378, \ 57 378,378,376,378,378,378,378,378,378,378,378,378,378,378,378,378, \ 58 378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378, \ 59 378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378, \ 60 378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378, \ 61 378,378,378,378,504,504,504,503,504,504,504,504,504,503,504,504, \ 62 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 63 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 64 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 65 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 66 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 67 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 68 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 69 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 70 568,504,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \ 71 568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \ 72 568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \ 73 568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \ 74 568,568,568,568,568,568,568,568,566,566,568,568,568,568,568,568, \ 75 568,632,568,632,632,632,632,632,632,632,632,632,632,632,632,632, \ 76 632,632,632,632,632,632,632,632,632,632,632,632,632,632,632,632, \ 77 632,632,632,632,632,632,632,632,632,632,736,736,736,735,736,736, \ 78 736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,735, \ 79 736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \ 80 736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \ 81 736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \ 82 736,736,736,736,736,736,736,736,735,736,736,736,736,736,736,736, \ 83 736,736,736,736,735,736,736,736,736,736,736,736,736,736,736,736, \ 84 736,760,760,760,760,760,760,760,760,760,760,760,760,760,760,760, \ 85 760,760,760,760,760,760,760,760,760,760,760,760,760,760,760,760, \ 86 760,760,760,760,760,760,832,760,832,832,832,832,832,832,832,832, \ 87 832,832,832,831,832,832,832,832,832,832,832,831,832,832,832,832, \ 88 832,831,832,832,832,832,831,832,832,832,832,832,832,832,832,832, \ 89 832,832,832,832,832,832,832,832,832,832,832,832,832,832,832,832, \ 90 832,832,831,832,832,832,832,832,832,832,832,832,832,832,832,832, \ 91 832,832,832,832,832,832,832,832,832,832,832,832,832,832,832,832 \ 92 93#define MPFR_SQRHIGH_TAB \ 94 -1,0,0,0,0,0,0,0,6,6,7,7,8,8,9,9, \ 95 10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17, \ 96 18,18,20,19,20,20,22,21,22,23,24,23,24,25,32,32, \ 97 32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,34, \ 98 34,34,36,36,36,36,38,38,38,38,40,40,40,40,42,42, \ 99 42,44,44,44,44,44,46,45,46,46,48,47,48,48,64,64, \ 100 64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, \ 101 64,64,64,64,64,64,64,64,64,64,64,68,68,64,68,72, \ 102 68,68,68,68,72,72,72,72,72,72,72,72,72,76,76,98, \ 103 98,98,98,99,98,99,98,99,98,99,98,99,98,99,98,99, \ 104 98,99,98,99,98,99,98,99,102,99,102,99,102,105,102,105, \ 105 102,105,98,99,98,99,98,99,98,99,98,99,98,99,98,99, \ 106 102,102,102,105,104,105,104,105,108,105,108,111,110,111,114,111, \ 107 114,117,116,117,117,117,120,117,120,123,120,123,122,123,126,129, \ 108 126,117,116,117,120,117,120,123,123,123,126,126,126,129,126,129, \ 109 122,129,123,123,126,126,126,126,129,126,129,128,129,129,129,129, \ 110 132,132,135,132,135,132,135,135,135,134,135,138,141,138,141,141, \ 111 141,189,189,189,192,189,192,189,192,189,192,192,192,192,192,192, \ 112 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, \ 113 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, \ 114 192,192,192,192,192,192,189,192,192,192,192,192,192,192,192,192, \ 115 192,192,192,192,192,192,192,192,192,192,192,192,192,192,201,201, \ 116 201,201,201,201,201,201,201,201,201,201,201,213,213,213,213,213, \ 117 213,213,213,213,213,213,213,216,213,213,213,213,213,213,213,213, \ 118 213,213,213,213,213,216,213,213,213,225,225,225,225,225,225,224, \ 119 225,225,225,237,237,237,237,237,237,237,237,294,294,294,294,294, \ 120 294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294, \ 121 294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294, \ 122 294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294, \ 123 294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294, \ 124 294,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402, \ 125 402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402, \ 126 402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402, \ 127 402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402, \ 128 402,402,402,402,402,402,402,402,402,402,402,402,400,402,402,402, \ 129 402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402, \ 130 402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402, \ 131 402,402,402,402,402,402,402,402,402,402,402,426,426,426,504,504, \ 132 504,503,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 133 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 134 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 135 504,504,504,504,504,504,504,504,504,504,503,504,504,504,504,504, \ 136 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 137 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 138 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 139 504,504,504,504,504,504,504,504,504,504,504,504,504,504,503,504, \ 140 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 141 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 142 503,504,504,504,504,504,504,504,504,504,504,504,504,504,504,503, \ 143 504,504,503,504,504,504,504,536,536,536,536,536,536,536,536,536, \ 144 536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,535, \ 145 536,536,535,536,536,536,536,536,568,568,568,568,568,568,568,568, \ 146 568,568,568,568,567,568,568,568,568,568,568,568,568,568,568,567, \ 147 568,568,567,568,568,568,568,568,568,568,568,568,568,568,568,568, \ 148 568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,599, \ 149 600,600,568,600,600,568,600,600,600,600,568,600,568,600,504,504, \ 150 504,504,504,504,504,503,503,503,504,503,504,504,504,504,502,504, \ 151 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 152 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 153 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 154 504,503,503,504,504,504,504,504,504,504,503,504,504,504,504,504, \ 155 504,504,504,536,536,536,536,536,536,536,536,536,536,536,536,536, \ 156 536,536,536,536,536,536,536,536,536,536,535,536,536,536,536,536, \ 157 536,536,536,536,568,568,568,568,552,568,568,568,568,568,568,536 \ 158 159#define MPFR_DIVHIGH_TAB \ 160 0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, /*0-15*/ \ 161 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*16-31*/ \ 162 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*32-47*/ \ 163 0,0,0,27,0,28,0,29,30,30,31,32,32,33,34,33, /*48-63*/ \ 164 34,35,36,35,36,36,37,37,38,39,39,39,40,40,41,41, /*64-79*/ \ 165 50,51,50,50,52,50,50,52,51,52,50,51,50,50,52,50, /*80-95*/ \ 166 52,50,52,52,52,52,56,55,56,64,64,64,64,64,64,64, /*96-111*/ \ 167 64,64,64,64,64,64,64,64,64,64,64,64,64,64,72,66, /*112-127*/ \ 168 66,71,72,71,72,71,72,69,72,72,72,72,72,72,78,80, /*128-143*/ \ 169 78,79,78,80,80,80,80,80,80,79,80,80,80,80,88,84, /*144-159*/ \ 170 88,88,88,88,88,84,87,85,86,86,88,87,88,88,104,89, /*160-175*/ \ 171 104,100,102,104,104,102,100,100,102,103,100,103,128,103,100,104, /*176-191*/ \ 172 128,103,100,100,104,103,104,103,128,102,104,128,104,128,128,128, /*192-207*/ \ 173 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, /*208-223*/ \ 174 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, /*224-239*/ \ 175 128,128,127,127,128,128,127,128,128,128,140,128,144,128,144,132, /*240-255*/ \ 176 144,135,143,144,144,143,144,143,144,144,142,143,144,144,140,144, /*256-271*/ \ 177 138,141,144,144,144,143,144,143,144,144,144,144,144,144,160,160, /*272-287*/ \ 178 160,160,148,152,156,157,160,160,160,158,159,160,160,160,160,159, /*288-303*/ \ 179 160,160,160,159,159,160,160,159,159,160,160,161,176,160,162,181, /*304-319*/ \ 180 182,185,186,184,185,186,185,176,185,186,200,192,186,208,184,208, /*320-335*/ \ 181 185,206,200,200,203,200,208,204,204,206,208,208,209,208,208,208, /*336-351*/ \ 182 206,208,206,206,200,204,204,208,208,208,208,208,208,208,208,208, /*352-367*/ \ 183 207,204,206,207,208,208,208,206,208,208,208,208,208,208,208,206, /*368-383*/ \ 184 208,208,208,208,206,208,208,208,256,256,208,256,256,206,256,256, /*384-399*/ \ 185 256,256,256,208,255,256,256,256,256,256,256,256,256,256,256,256, /*400-415*/ \ 186 256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256, /*416-431*/ \ 187 256,256,255,256,256,256,256,256,256,256,256,254,256,255,256,256, /*432-447*/ \ 188 256,256,256,256,256,256,255,255,256,256,256,255,254,254,256,253, /*448-463*/ \ 189 256,256,256,256,256,256,256,256,256,255,255,256,256,256,256,256, /*464-479*/ \ 190 256,256,256,255,256,256,255,256,256,256,256,255,254,256,256,255, /*480-495*/ \ 191 256,256,256,256,255,256,255,255,255,256,255,256,256,256,257,264, /*496-511*/ \ 192 272,264,269,281,277,281,280,268,269,281,282,282,279,264,288,288, /*512-527*/ \ 193 287,280,281,280,288,288,288,282,287,288,287,288,287,288,282,287, /*528-543*/ \ 194 281,282,288,288,280,288,288,282,281,288,280,282,287,288,287,288, /*544-559*/ \ 195 282,288,288,288,287,285,288,287,288,288,288,288,288,288,289,292, /*560-575*/ \ 196 296,293,304,304,304,312,304,306,304,305,303,304,312,304,305,316, /*576-591*/ \ 197 315,318,318,312,316,316,318,316,316,320,318,318,320,320,371,370, /*592-607*/ \ 198 371,372,373,372,372,373,376,376,378,377,378,378,384,373,377,372, /*608-623*/ \ 199 378,372,378,378,378,378,377,384,378,384,378,372,378,378,378,378, /*624-639*/ \ 200 372,377,378,378,377,378,378,378,377,371,384,384,378,378,378,378, /*640-655*/ \ 201 378,377,378,378,378,378,378,378,378,384,384,384,383,384,417,384, /*656-671*/ \ 202 378,378,378,378,377,378,378,401,378,400,378,378,400,408,384,412, /*672-687*/ \ 203 384,384,414,408,416,417,411,416,384,414,414,414,416,416,417,414, /*688-703*/ \ 204 416,420,400,412,412,412,416,413,416,414,414,416,416,416,412,412, /*704-719*/ \ 205 416,416,414,416,416,416,417,416,416,416,416,414,415,416,416,416, /*720-735*/ \ 206 414,378,378,377,384,378,378,384,384,384,384,384,384,384,414,384, /*736-751*/ \ 207 415,416,416,413,414,416,416,413,414,414,416,416,415,416,416,400, /*752-767*/ \ 208 412,408,417,411,412,416,415,416,416,412,416,417,416,414,416,416, /*768-783*/ \ 209 416,416,416,416,416,416,416,414,416,416,416,400,415,416,416,401, /*784-799*/ \ 210 416,420,412,408,408,412,416,407,408,416,415,412,416,414,416,415, /*800-815*/ \ 211 414,412,413,416,412,414,413,416,416,416,418,416,416,416,417,417, /*816-831*/ \ 212 419,418,420,419,420,420,426,421,424,426,424,432,426,425,426,426, /*832-847*/ \ 213 426,426,432,432,432,432,432,432,432,432,436,432,432,432,433,435, /*848-863*/ \ 214 440,438,440,438,436,440,440,438,448,444,444,448,440,444,448,446, /*864-879*/ \ 215 444,448,444,443,444,446,446,448,448,449,448,448,448,449,450,468, /*880-895*/ \ 216 466,468,460,457,458,460,463,456,460,456,464,467,462,473,512,458, /*896-911*/ \ 217 488,468,512,473,512,468,512,510,512,512,510,510,512,508,512,512, /*912-927*/ \ 218 512,512,510,512,512,510,512,510,474,511,486,512,512,512,512,512, /*928-943*/ \ 219 509,510,510,512,512,512,512,512,512,512,514,512,512,511,508,512, /*944-959*/ \ 220 512,510,512,511,512,508,512,512,512,511,512,512,510,512,512,510, /*960-975*/ \ 221 512,510,510,512,512,511,512,512,512,512,512,512,512,512,549,512, /*976-991*/ \ 222 512,512,545,512,512,512,510,512,512,512,512,512,512,512,510,512, /*992-1007*/ \ 223 512,512,551,510,545,512,550,512,552,545,511,557,545,512,544,551 /*1008-1023*/ \ 224 225#define MPFR_MUL_THRESHOLD 6 /* limbs */ 226#define MPFR_SQR_THRESHOLD 9 /* limbs */ 227#define MPFR_DIV_THRESHOLD 6 /* limbs */ 228#define MPFR_EXP_2_THRESHOLD 530 /* bits */ 229#define MPFR_EXP_THRESHOLD 12546 /* bits */ 230#define MPFR_SINCOS_THRESHOLD 22043 /* bits */ 231#define MPFR_AI_THRESHOLD1 -17975 /* threshold for negative input of mpfr_ai */ 232#define MPFR_AI_THRESHOLD2 1889 233#define MPFR_AI_THRESHOLD3 28004 234/* Tuneup completed successfully, took 13753 seconds */ 235