mparam.h revision 1.1.1.5
1/* Various Thresholds of MPFR, not exported. -*- mode: C -*- 2 3Copyright 2005-2023 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 19https://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, 2018-02-22, gcc 6.3.0 */ 23/* gcc14.fsffrance.org (Intel(R) Xeon(R) CPU X5450 @ 3.00GHz) 24 with GMP 6.1.2 configured with ABI=32, 25 MPFR configured with CFLAGS='-O2 -m32 -march=i686 -mtune=generic' */ 26 27#define MPFR_MULHIGH_TAB \ 28 -1,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0, \ 29 0,0,0,0,0,0,0,15,0,0,0,16,0,17,18,19, \ 30 21,18,19,20,21,21,22,23,24,26,23,28,25,30,30,28, \ 31 29,30,34,32,32,34,34,36,36,38,38,38,40,42,42,42, \ 32 40,46,42,46,44,44,46,52,48,49,50,50,52,52,54,60, \ 33 56,56,58,59,60,60,60,63,64,64,64,64,68,68,68,68, \ 34 68,68,64,68,64,68,68,68,68,68,68,68,68,68,76,76, \ 35 76,76,68,80,84,68,68,84,84,84,84,84,84,84,84,77, \ 36 84,76,80,84,84,76,84,92,84,76,84,84,84,84,92,92, \ 37 93,93,84,110,111,99,93,99,111,99,110,111,106,105,108,104, \ 38 110,111,111,110,111,111,111,110,110,123,116,110,123,123,120,117, \ 39 116,117,116,123,123,123,120,126,123,123,123,129,126,123,129,129, \ 40 126,135,132,135,135,135,135,135,134,135,141,141,154,135,156,141, \ 41 134,148,156,156,156,147,148,164,164,155,156,156,164,163,164,163, \ 42 163,164,164,164,164,164,164,163,171,163,164,172,172,171,172,163, \ 43 164,171,180,177,180,179,180,184,172,179,180,180,176,179,180,171, \ 44 180,180,188,188,180,187,200,204,180,204,204,187,196,203,204,203, \ 45 204,203,204,203,204,203,220,204,220,204,220,220,219,203,204,220, \ 46 220,219,220,219,204,219,220,203,220,204,204,219,220,252,236,251, \ 47 250,251,252,249,252,249,252,251,252,252,252,251,252,251,252,249, \ 48 252,252,252,251,252,252,252,251,252,267,251,252,252,251,268,252, \ 49 252,249,250,252,252,252,268,252,252,268,252,268,268,268,268,252, \ 50 252,265,251,268,268,268,266,265,267,268,268,268,268,268,268,268, \ 51 268,267,268,268,268,268,268,267,268,306,306,306,306,268,306,306, \ 52 306,305,305,306,306,268,306,306,305,305,306,306,306,330,306,306, \ 53 306,306,306,306,306,306,330,306,306,306,306,330,330,330,330,306, \ 54 329,330,330,330,328,329,330,330,354,329,330,329,330,330,354,330, \ 55 330,354,329,330,330,354,330,352,354,329,354,330,354,330,330,354, \ 56 354,329,354,330,360,330,330,354,352,354,378,371,378,377,354,378, \ 57 378,402,354,402,378,378,378,401,402,378,402,378,354,401,377,378, \ 58 377,378,402,401,378,378,378,402,401,402,402,402,401,401,402,402, \ 59 401,402,401,402,402,402,402,402,402,402,402,402,402,402,401,402, \ 60 402,401,402,402,401,402,402,401,402,402,402,402,402,402,402,402, \ 61 402,401,402,402,402,401,402,439,439,440,402,440,402,402,426,439, \ 62 439,440,440,440,426,426,426,438,439,440,472,439,471,440,440,472, \ 63 472,440,440,440,471,439,472,440,472,472,472,440,470,472,471,472, \ 64 470,472,504,470,472,472,469,472,496,472,472,472,471,502,472,472, \ 65 471,472,471,504,472,472,472,472,480,504,472,496,503,503,504,504, \ 66 503,503,472,504,504,472,496,503,502,472,504,496,472,504,503,472, \ 67 504,496,504,504,503,536,470,536,472,536,535,535,536,534,504,536, \ 68 536,503,504,536,536,544,536,503,504,536,535,503,480,504,504,536, \ 69 535,568,568,504,568,568,568,544,568,536,535,568,568,535,504,535, \ 70 568,568,568,536,504,567,544,568,568,536,544,567,544,544,568,584, \ 71 544,568,560,568,600,559,568,584,583,568,568,600,599,567,568,567, \ 72 568,567,568,567,600,568,568,599,599,568,584,568,567,568,599,568, \ 73 567,568,567,600,600,568,600,584,568,599,599,568,600,568,600,599, \ 74 608,599,600,568,600,600,568,600,600,568,568,598,599,600,599,600, \ 75 600,600,600,664,664,600,632,584,600,664,663,600,664,600,632,663, \ 76 663,631,632,600,600,600,600,664,600,656,599,664,600,600,656,600, \ 77 600,664,664,664,664,663,663,663,664,664,664,664,663,664,662,663, \ 78 664,663,664,664,664,632,632,663,664,663,664,632,664,664,664,664, \ 79 664,664,663,664,664,664,662,664,663,664,664,664,664,663,663,664, \ 80 664,664,662,663,663,664,664,664,664,664,662,663,664,664,664,664, \ 81 664,664,664,664,663,664,664,664,664,664,663,664,663,664,664,664, \ 82 663,664,664,687,688,662,663,664,664,663,664,734,664,664,688,736, \ 83 736,664,664,664,664,663,664,663,664,736,735,664,664,663,736,733, \ 84 736,734,735,736,736,735,736,735,736,736,736,784,736,784,784,736, \ 85 736,784,735,736,736,783,736,783,736,736,736,735,784,784,736,736, \ 86 735,784,736,784,736,784,784,736,784,784,784,784,784,783,784,783, \ 87 783,783,784,784,784,784,784,784,784,783,824,784,782,831,832,783, \ 88 824,831,832,832,832,784,784,831,784,784,784,784,784,824,831,824, \ 89 823,824,824,824,824,824,831,832,824,822,824,832,824,824,832,823, \ 90 832,832,831,831,832,832,832,832,832,856,822,832,832,832,824,856, \ 91 824,824,832,832,824,832,856,831,832,832,856,831,832,856,832,830 \ 92 93#define MPFR_SQRHIGH_TAB \ 94 -1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,8,9,10, \ 95 11,12,13,11,13,12,13,14,15,14,15,16,16,18,17,19, \ 96 19,18,19,19,20,20,22,23,23,22,23,24,25,25,26,27, \ 97 28,30,30,27,28,29,30,31,32,33,38,40,40,42,42,44, \ 98 40,40,42,42,44,44,42,42,44,42,50,50,42,46,50,44, \ 99 46,44,46,46,50,48,50,50,50,50,48,54,50,54,50,50, \ 100 54,50,54,54,54,62,60,53,54,54,56,56,58,56,60,58, \ 101 58,60,60,62,62,60,76,62,76,68,72,66,68,72,76,72, \ 102 72,72,76,76,76,80,80,80,76,80,80,88,84,80,84,88, \ 103 84,92,88,88,92,92,88,88,80,92,96,92,92,87,96,96, \ 104 100,100,100,100,96,100,96,104,96,104,100,100,100,100,108,100, \ 105 96,100,104,103,104,104,100,100,104,104,104,104,104,108,108,99, \ 106 100,108,108,100,112,100,106,123,108,108,128,123,112,129,112,108, \ 107 129,135,134,135,128,129,138,135,123,141,135,127,128,141,129,147, \ 108 128,141,134,135,135,141,138,139,135,141,138,141,135,153,146,147, \ 109 147,153,141,141,147,153,141,150,135,147,147,159,147,147,147,159, \ 110 135,141,135,146,147,165,146,147,159,152,147,147,147,147,146,158, \ 111 151,147,153,146,147,157,153,153,188,159,159,188,188,164,164,195, \ 112 196,160,180,187,188,180,187,188,180,188,188,165,187,188,196,188, \ 113 188,180,188,196,188,188,195,188,187,188,188,196,196,188,195,196, \ 114 196,195,196,195,196,196,195,196,196,188,211,203,212,195,196,196, \ 115 196,196,212,211,211,195,196,220,220,212,220,225,212,196,216,220, \ 116 216,220,220,195,196,196,220,220,196,220,228,203,212,212,212,212, \ 117 211,212,212,212,212,212,212,220,212,219,220,220,220,220,212,228, \ 118 227,220,228,228,228,228,228,212,212,228,227,211,228,236,276,219, \ 119 220,228,212,219,220,244,219,219,244,244,220,227,228,228,244,227, \ 120 282,244,294,270,264,282,269,276,264,270,294,276,282,270,270,276, \ 121 276,276,282,270,270,276,281,276,282,282,282,282,276,282,294,282, \ 122 282,294,270,294,282,294,282,294,294,294,294,294,276,282,282,282, \ 123 276,294,282,282,294,282,282,294,306,294,294,294,312,294,294,294, \ 124 294,294,294,294,317,318,318,294,293,318,294,306,306,318,330,324, \ 125 324,330,318,306,330,312,318,318,324,324,318,324,324,330,317,330, \ 126 324,323,324,318,318,330,330,329,329,330,330,318,324,329,329,330, \ 127 336,330,329,330,324,342,354,342,318,324,354,342,341,348,348,318, \ 128 330,354,354,342,318,368,354,376,368,354,375,330,376,392,392,376, \ 129 330,376,376,376,368,392,392,392,384,392,392,392,392,392,392,392, \ 130 392,392,392,408,392,392,407,392,392,392,392,406,408,408,407,407, \ 131 408,392,408,416,408,392,424,408,375,376,376,408,408,424,376,423, \ 132 416,424,392,408,424,408,376,431,432,424,424,423,424,424,424,407, \ 133 432,424,392,431,432,392,432,424,407,440,392,440,440,440,408,432, \ 134 439,440,424,440,416,440,424,407,423,424,424,424,424,456,424,424, \ 135 432,423,424,432,416,424,432,423,424,423,440,424,424,424,424,439, \ 136 440,472,424,424,424,424,440,439,440,456,440,456,438,408,456,440, \ 137 424,440,424,456,464,488,456,424,456,456,424,439,424,472,472,479, \ 138 456,456,432,480,480,455,480,440,472,488,480,488,440,440,464,440, \ 139 488,439,488,488,488,488,456,487,488,488,488,456,432,487,504,488, \ 140 480,456,488,488,487,488,488,487,488,520,520,520,488,520,520,439, \ 141 480,472,480,479,456,487,488,488,496,487,472,488,488,520,520,488, \ 142 520,488,520,520,496,488,520,488,488,504,488,520,440,600,536,600, \ 143 456,520,536,536,600,600,568,567,600,600,568,599,600,600,600,599, \ 144 598,600,600,568,599,600,568,600,600,599,600,600,600,568,568,599, \ 145 600,600,600,600,599,600,600,599,600,599,600,600,599,599,600,599, \ 146 599,599,600,600,600,599,600,600,599,599,600,600,632,600,600,600, \ 147 664,599,600,600,600,600,600,600,631,632,632,632,600,632,632,599, \ 148 663,664,624,631,632,632,664,662,663,664,664,632,632,664,632,663, \ 149 664,631,664,662,662,664,664,662,664,663,664,663,663,663,664,664, \ 150 664,662,663,664,664,664,664,663,664,663,664,664,664,664,664,663, \ 151 664,632,663,664,664,663,664,664,664,631,664,663,696,696,696,664, \ 152 600,664,664,662,664,664,664,664,664,663,664,663,664,664,663,664, \ 153 664,663,664,664,632,664,664,663,664,663,664,663,664,664,728,663, \ 154 664,727,663,664,664,663,664,664,696,632,728,728,663,663,664,696, \ 155 664,664,696,728,664,664,728,728,696,663,664,663,728,664,664,655, \ 156 696,663,664,661,664,695,696,663,656,728,664,663,664,663,664,664, \ 157 696,664,663,663,664,695,696,664,664,695,696,662,664,663,664,663 \ 158 159#define MPFR_DIVHIGH_TAB \ 160 0,0,0,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,20,23,23,23,23,24,23,24,25,27,27, /*32-47*/ \ 163 27,27,31,29,32,29,30,30,32,31,33,31,35,35,36,35, /*48-63*/ \ 164 36,36,42,42,37,41,41,45,42,42,46,43,44,45,42,45, /*64-79*/ \ 165 44,45,49,47,46,49,50,54,50,56,51,56,56,58,54,56, /*80-95*/ \ 166 60,54,56,59,55,58,54,56,63,60,62,56,60,66,64,66, /*96-111*/ \ 167 63,62,67,68,62,66,64,68,68,72,67,70,67,68,66,67, /*112-127*/ \ 168 70,68,74,83,72,70,83,76,84,84,83,84,84,84,82,82, /*128-143*/ \ 169 84,84,84,87,84,84,84,82,84,84,84,86,84,88,91,92, /*144-159*/ \ 170 88,98,99,84,88,91,90,104,87,99,96,94,100,100,92,94, /*160-175*/ \ 171 92,92,112,105,100,104,100,100,104,104,104,104,112,112,104,105, /*176-191*/ \ 172 99,112,112,103,104,111,112,112,104,104,112,112,111,112,112,112, /*192-207*/ \ 173 111,111,112,128,112,128,111,112,116,120,120,116,120,118,118,128, /*208-223*/ \ 174 127,128,128,120,136,136,136,128,135,136,136,132,136,130,128,136, /*224-239*/ \ 175 128,136,136,136,126,136,136,136,135,136,136,136,136,136,136,136, /*240-255*/ \ 176 136,136,136,136,144,148,168,136,144,136,168,143,142,144,150,143, /*256-271*/ \ 177 168,168,143,168,167,167,168,176,176,166,168,171,168,168,172,168, /*272-287*/ \ 178 168,176,168,167,168,176,176,176,176,168,176,176,176,172,176,175, /*288-303*/ \ 179 176,176,175,176,176,176,174,175,176,168,168,167,168,168,168,183, /*304-319*/ \ 180 175,176,176,176,168,176,176,173,176,175,176,176,174,175,175,171, /*320-335*/ \ 181 176,184,198,176,176,184,175,175,208,186,186,198,208,184,186,177, /*336-351*/ \ 182 208,208,208,209,207,208,209,184,192,197,208,184,192,208,192,208, /*352-367*/ \ 183 224,192,222,198,208,196,198,198,210,207,222,216,208,222,222,222, /*368-383*/ \ 184 198,198,210,207,224,208,222,222,224,208,224,222,224,224,222,208, /*384-399*/ \ 185 210,216,222,222,208,216,222,222,208,224,224,224,222,224,224,228, /*400-415*/ \ 186 224,223,224,224,240,224,240,222,248,224,224,222,240,256,240,224, /*416-431*/ \ 187 256,257,222,255,224,228,224,256,240,256,240,255,256,255,256,240, /*432-447*/ \ 188 256,255,256,257,256,252,256,256,256,256,256,256,264,256,255,256, /*448-463*/ \ 189 257,272,256,255,272,270,256,256,272,256,240,257,288,272,252,254, /*464-479*/ \ 190 257,256,256,257,256,270,272,255,256,256,267,256,256,255,254,256, /*480-495*/ \ 191 255,256,257,268,264,269,256,255,256,256,288,256,269,270,267,336, /*496-511*/ \ 192 272,272,272,267,270,264,272,269,288,270,288,288,288,272,272,337, /*512-527*/ \ 193 288,336,336,335,288,352,336,334,286,344,288,296,344,288,288,293, /*528-543*/ \ 194 288,304,336,336,336,336,336,336,336,288,336,336,304,352,352,336, /*544-559*/ \ 195 336,336,336,336,336,336,336,336,336,343,344,340,336,335,336,336, /*560-575*/ \ 196 336,336,336,336,342,336,336,336,336,344,352,336,342,335,336,335, /*576-591*/ \ 197 336,352,344,344,352,352,352,344,352,352,336,351,350,352,352,352, /*592-607*/ \ 198 352,352,341,336,352,335,336,336,352,335,336,344,336,336,334,336, /*608-623*/ \ 199 336,343,336,344,344,344,352,344,352,336,344,335,352,343,351,344, /*624-639*/ \ 200 344,341,342,352,344,351,352,336,352,336,352,344,336,336,341,344, /*640-655*/ \ 201 336,336,344,336,352,336,352,342,352,344,344,344,347,344,344,341, /*656-671*/ \ 202 344,352,353,352,352,351,352,359,352,351,352,352,352,352,352,352, /*672-687*/ \ 203 352,349,350,351,352,367,368,352,357,352,352,352,360,352,353,353, /*688-703*/ \ 204 391,408,408,360,368,388,384,368,392,408,400,416,416,384,392,367, /*704-719*/ \ 205 384,408,408,416,408,408,408,392,392,416,416,408,416,415,408,415, /*720-735*/ \ 206 416,416,412,408,414,420,448,417,408,408,416,408,408,413,416,408, /*736-751*/ \ 207 416,408,415,415,416,431,416,416,416,392,448,415,416,432,416,444, /*752-767*/ \ 208 416,448,408,416,416,416,408,408,448,444,416,416,416,416,408,416, /*768-783*/ \ 209 408,448,414,415,416,417,418,448,444,416,416,406,416,416,414,432, /*784-799*/ \ 210 448,448,416,416,432,448,416,432,448,444,438,448,448,416,448,416, /*800-815*/ \ 211 444,448,444,448,416,432,416,416,416,432,416,448,448,416,432,448, /*816-831*/ \ 212 444,448,444,448,447,466,448,432,432,448,448,432,448,448,440,444, /*832-847*/ \ 213 454,432,448,480,438,447,504,432,448,448,448,448,448,447,448,447, /*848-863*/ \ 214 448,446,448,444,443,448,444,448,446,448,448,503,536,448,448,448, /*864-879*/ \ 215 448,448,448,448,448,447,450,448,514,448,512,480,448,512,480,454, /*880-895*/ \ 216 512,500,504,476,480,536,536,536,504,536,480,504,504,480,536,504, /*896-911*/ \ 217 480,504,504,504,480,504,512,480,480,512,480,512,512,480,478,536, /*912-927*/ \ 218 480,489,504,513,536,504,511,479,480,480,534,511,511,512,536,512, /*928-943*/ \ 219 512,504,504,504,504,504,504,512,511,509,512,512,504,511,544,504, /*944-959*/ \ 220 544,504,512,544,544,536,512,504,543,511,512,513,540,511,511,504, /*960-975*/ \ 221 544,511,508,504,512,536,536,504,504,512,536,544,504,544,512,536, /*976-991*/ \ 222 535,512,512,541,504,536,536,536,536,504,544,511,544,511,544,512, /*992-1007*/ \ 223 511,512,544,514,544,535,544,544,544,536,536,536,536,536,544,544 /*1008-1023*/ \ 224 225#define MPFR_MUL_THRESHOLD 13 /* limbs */ 226#define MPFR_SQR_THRESHOLD 18 /* limbs */ 227#define MPFR_DIV_THRESHOLD 3 /* limbs */ 228#define MPFR_EXP_2_THRESHOLD 522 /* bits */ 229#define MPFR_EXP_THRESHOLD 6920 /* bits */ 230#define MPFR_SINCOS_THRESHOLD 28160 /* bits */ 231#define MPFR_AI_THRESHOLD1 -24100 /* threshold for negative input of mpfr_ai */ 232#define MPFR_AI_THRESHOLD2 2303 233#define MPFR_AI_THRESHOLD3 37484 234/* Tuneup completed successfully, took 787 seconds */ 235