1 /* Various Thresholds of MPFR, not exported. -*- mode: C -*- 2 3 Copyright 2005-2018 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 http://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, 2011-07-31, gcc 3.3.5 */ 23 /* gcc64.fsffrance.org (sparc64) with gmp 5.0.2 */ 24 25 26 #define MPFR_MULHIGH_TAB \ 27 -1,0,0,-1,0,-1,-1,-1,7,-1,9,9,11,11,11,13, \ 28 11,13,13,15,15,17,15,19,17,17,19,19,19,19,21,21, \ 29 23,23,23,23,25,27,23,30,30,30,30,30,30,30,34,34, \ 30 34,34,34,34,38,38,38,38,38,38,42,42,41,42,42,42, \ 31 42,42,42,46,46,46,46,46,46,50,50,50,50,50,50,60, \ 32 60,60,60,60,60,60,60,60,60,68,60,68,68,60,68,68, \ 33 68,68,68,68,68,68,68,68,76,76,76,76,76,76,76,76, \ 34 76,76,76,76,84,76,84,84,84,76,84,84,84,84,84,84, \ 35 84,84,84,84,84,84,92,92,92,92,92,92,92,84,92,92, \ 36 92,92,100,100,100,100,100,100,100,100,100,100,120,100,120,120, \ 37 120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120, \ 38 120,120,119,120,119,120,120,136,136,136,136,136,136,136,136,136, \ 39 136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,152, \ 40 152,152,152,136,152,152,152,136,152,136,152,152,136,152,152,152, \ 41 152,152,152,136,152,152,168,168,168,201,168,168,201,201,201,201, \ 42 201,201,201,201,201,200,201,200,201,200,201,201,201,201,201,201, \ 43 201,201,201,201,201,200,201,201,201,201,201,201,201,201,201,201, \ 44 201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201, \ 45 201,201,201,201,200,201,200,201,201,201,201,201,201,201,201,201, \ 46 225,224,225,225,225,225,225,224,225,224,225,224,225,225,225,282, \ 47 225,282,282,282,282,282,282,294,294,294,294,294,294,294,294,294, \ 48 282,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294, \ 49 294,294,293,294,294,294,294,294,294,294,294,294,294,294,294,294, \ 50 294,294,294,294,293,294,294,294,294,294,294,294,294,294,293,294, \ 51 294,294,294,294,294,294,294,294,294,294,294,294,294,318,294,318, \ 52 294,294,294,360,359,360,360,358,360,360,360,360,359,360,360,360, \ 53 360,360,360,360,360,360,360,360,360,360,360,360,360,360,360,360, \ 54 360,360,360,360,360,360,359,360,360,360,360,360,360,360,360,360, \ 55 360,360,360,360,360,360,360,358,360,360,360,360,360,360,354,360, \ 56 360,360,360,360,360,360,360,392,360,360,392,392,360,392,391,392, \ 57 391,392,392,392,391,392,391,392,354,392,391,392,391,392,391,392, \ 58 391,392,391,392,391,392,391,392,392,392,391,392,392,392,392,392, \ 59 424,392,391,392,424,392,424,424,424,392,424,424,424,424,424,472, \ 60 424,424,424,472,424,472,472,472,472,472,472,472,472,472,472,471, \ 61 472,472,472,472,472,472,472,472,472,472,472,471,472,472,472,471, \ 62 472,472,472,472,472,472,472,472,472,472,472,472,472,472,471,472, \ 63 472,472,472,472,472,472,472,472,472,472,472,472,472,472,472,472, \ 64 472,472,472,472,472,472,472,472,472,472,472,472,472,472,472,472, \ 65 472,472,472,472,472,471,472,472,472,472,472,472,472,472,472,472, \ 66 472,472,472,472,472,472,472,472,472,472,472,472,472,472,472,472, \ 67 472,472,472,536,536,536,536,536,536,528,536,536,536,536,536,536, \ 68 536,536,536,536,536,536,544,536,536,536,536,600,536,599,600,600, \ 69 599,599,600,600,600,600,600,600,599,600,600,600,600,599,600,600, \ 70 600,600,600,600,600,599,600,599,600,600,600,599,600,600,600,600, \ 71 600,599,600,599,600,600,600,599,600,600,600,600,600,600,600,600, \ 72 600,600,600,599,599,600,600,600,600,600,600,600,600,600,600,600, \ 73 600,600,600,600,600,599,600,600,599,600,599,600,599,600,600,600, \ 74 599,600,600,600,599,600,600,664,600,664,600,600,600,600,600,663, \ 75 599,664,600,664,600,664,664,664,664,664,664,664,663,664,664,664, \ 76 663,664,664,664,663,664,663,664,664,664,663,664,663,664,664,664, \ 77 664,664,664,664,664,664,663,664,664,663,664,664,664,664,664,664, \ 78 663,663,664,664,664,664,663,664,663,664,663,664,663,664,663,664, \ 79 663,664,663,664,664,664,664,664,664,664,663,664,663,664,664,664, \ 80 664,664,664,664,664,664,664,664,663,728,663,728,728,727,728,728, \ 81 728,728,728,728,728,728,728,728,727,728,728,728,727,728,728,728, \ 82 728,728,728,728,727,728,727,728,728,728,727,728,727,728,728,728, \ 83 727,728,728,728,727,728,728,728,728,728,727,728,728,728,728,728, \ 84 727,728,728,728,727,728,792,792,727,728,727,728,791,792,728,728, \ 85 728,728,728,728,728,728,792,792,727,792,792,792,792,792,791,792, \ 86 792,792,792,792,792,792,792,792,792,792,792,792,792,792,791,790, \ 87 791,792,791,792,792,792,791,792,791,792,791,792,791,792,791,792, \ 88 791,792,792,792,791,792,792,792,791,792,792,792,791,792,791,791, \ 89 791,791,791,792,792,791,792,792,791,792,792,792,791,792,792,792, \ 90 792,791,792,792,791,792,792,856,792,792,792,856,792,791,792,856 \ 91 92 #define MPFR_SQRHIGH_TAB \ 93 -1,0,0,0,0,-1,5,5,7,7,9,7,9,8,9,10, \ 94 11,10,11,11,13,12,13,13,17,14,16,16,16,16,17,18, \ 95 18,18,19,20,20,22,21,24,22,24,23,24,24,26,26,26, \ 96 28,28,28,30,28,29,30,31,30,31,32,33,32,33,34,35, \ 97 34,35,36,36,36,37,38,40,40,40,40,40,42,43,42,44, \ 98 45,47,50,44,44,44,50,48,50,51,47,48,49,48,49,50, \ 99 51,52,53,52,53,52,53,54,55,56,57,58,59,56,57,58, \ 100 59,58,59,62,61,60,61,62,63,62,63,64,65,64,65,70, \ 101 67,72,72,72,76,74,72,72,74,76,76,76,76,74,80,80, \ 102 74,76,84,80,80,82,80,84,82,84,84,88,84,90,88,82, \ 103 86,88,88,84,84,86,88,88,88,88,88,88,88,88,90,92, \ 104 90,92,92,92,96,94,96,96,96,96,100,96,96,116,98,100, \ 105 98,98,100,100,117,117,118,119,119,120,116,119,120,119,118,119, \ 106 119,119,122,128,120,119,120,119,116,121,120,118,120,125,125,119, \ 107 125,124,131,131,130,131,134,131,132,134,124,125,133,143,137,138, \ 108 131,144,138,137,135,138,130,135,137,143,143,137,137,143,130,138, \ 109 131,140,138,137,136,149,149,142,143,156,149,149,144,154,149,147, \ 110 149,156,149,152,147,147,155,156,149,150,149,146,160,160,163,168, \ 111 167,167,156,166,156,164,156,158,161,172,161,166,167,161,173,164, \ 112 167,174,173,162,171,172,173,176,173,171,165,182,174,174,173,184, \ 113 171,170,174,173,178,176,176,168,179,176,177,182,178,180,191,174, \ 114 186,184,176,192,180,180,173,174,179,185,175,182,184,180,179,178, \ 115 179,180,179,186,185,185,188,184,186,188,186,190,191,191,195,192, \ 116 198,192,194,200,213,197,225,198,201,200,191,210,195,212,224,212, \ 117 213,213,212,212,213,213,221,218,218,224,199,224,219,224,225,225, \ 118 225,222,225,228,229,213,237,228,218,224,234,240,237,240,242,242, \ 119 243,240,242,242,235,228,231,228,237,230,231,236,236,237,336,336, \ 120 336,336,336,336,336,336,336,336,336,336,341,336,336,336,336,336, \ 121 336,336,341,336,336,336,336,342,336,336,342,336,336,336,336,342, \ 122 336,336,336,336,336,336,336,342,336,336,336,336,342,336,336,336, \ 123 336,336,336,336,336,336,336,342,336,336,336,336,342,336,336,342, \ 124 336,336,342,336,336,336,336,336,336,336,342,336,336,336,336,342, \ 125 336,342,342,336,342,342,336,342,336,342,336,336,342,336,336,342, \ 126 336,336,342,336,336,342,336,342,342,342,341,348,342,348,348,348, \ 127 342,342,354,348,354,354,348,336,354,354,354,336,342,360,360,354, \ 128 354,342,360,360,366,366,360,372,354,360,354,360,354,360,360,353, \ 129 336,336,342,360,366,342,360,336,336,342,342,336,336,336,341,341, \ 130 336,336,336,336,342,342,336,342,342,342,342,336,342,342,341,342, \ 131 348,342,342,360,354,348,348,342,354,348,360,348,354,354,353,354, \ 132 354,354,354,456,360,360,456,366,372,366,366,456,354,366,456,456, \ 133 456,378,456,456,455,456,456,456,378,366,390,384,378,378,360,378, \ 134 372,366,378,456,378,464,472,378,472,472,336,456,472,456,456,456, \ 135 472,472,456,456,472,464,456,456,456,342,426,456,426,455,472,456, \ 136 472,472,426,472,348,456,472,456,456,455,456,480,455,456,455,456, \ 137 456,455,456,456,454,456,456,456,456,455,456,456,454,455,456,456, \ 138 456,464,456,456,455,456,455,456,456,464,456,456,472,456,456,464, \ 139 472,472,456,456,455,456,456,456,455,472,479,456,472,472,488,464, \ 140 472,472,471,488,472,472,488,488,472,472,488,456,480,472,456,488, \ 141 472,472,479,463,488,426,456,426,426,426,426,425,455,455,425,456, \ 142 455,455,456,480,455,456,456,456,456,455,456,456,454,456,455,456, \ 143 456,455,456,456,455,455,455,456,456,454,456,456,455,456,456,456, \ 144 456,455,456,456,472,456,456,456,456,455,464,464,472,472,472,464, \ 145 472,472,456,455,472,472,471,456,472,480,456,480,480,480,456,488, \ 146 480,488,488,488,472,472,488,488,472,472,488,480,496,472,456,480, \ 147 496,472,488,456,480,456,456,456,456,488,456,456,488,456,456,456, \ 148 456,455,456,456,455,455,456,464,456,512,456,456,512,472,464,456, \ 149 472,512,456,480,464,480,472,471,472,472,471,479,470,480,471,471, \ 150 472,472,480,488,478,480,488,487,480,480,488,488,568,485,488,488, \ 151 512,488,488,471,568,512,512,512,512,496,511,511,512,512,520,511, \ 152 512,512,520,520,568,512,520,520,512,512,520,520,519,520,519,519, \ 153 520,568,520,536,536,536,536,528,536,528,535,535,534,512,535,512, \ 154 536,536,552,552,536,552,552,520,567,544,552,552,552,568,567,567, \ 155 568,568,567,567,568,568,535,584,568,512,568,567,512,568,567,568, \ 156 576,568,567,584,568,600,584,584,600,568,597,592,591,600,599,599 \ 157 158 #define MPFR_DIVHIGH_TAB \ 159 0,1,2,3,4,5,6,7,6,7,8,9,10,11,12,13, \ 160 10,10,11,11,13,12,13,13,14,14,15,15,18,17,19,19, \ 161 18,21,19,20,22,21,27,27,22,22,27,28,27,27,27,30, \ 162 27,27,27,27,31,31,30,30,31,31,31,35,34,33,35,35, \ 163 38,37,36,38,39,39,39,37,39,39,43,43,47,42,43,43, \ 164 45,47,54,43,54,54,45,54,54,54,54,55,54,54,55,54, \ 165 54,54,54,54,54,54,54,54,54,54,58,58,60,60,60,60, \ 166 60,60,68,62,60,60,65,68,68,68,68,68,67,68,76,68, \ 167 67,68,67,68,76,76,71,73,76,76,77,76,79,73,79,84, \ 168 76,76,78,76,76,84,84,84,84,83,84,84,92,92,83,84, \ 169 92,92,84,84,92,84,88,108,86,108,108,108,108,108,108,108, \ 170 108,92,108,108,92,108,108,108,120,120,108,108,120,120,120,120, \ 171 120,120,108,108,108,120,108,108,120,108,118,108,108,108,108,120, \ 172 120,120,108,108,120,120,118,120,120,120,120,120,120,120,120,120, \ 173 120,120,120,120,120,120,136,120,120,120,125,136,136,120,136,136, \ 174 136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136, \ 175 136,136,136,136,152,136,135,136,152,152,136,136,152,152,152,152, \ 176 152,152,152,152,151,152,152,152,152,152,149,150,152,152,152,152, \ 177 152,152,151,152,152,168,167,168,152,152,167,152,152,152,165,157, \ 178 168,168,167,168,168,184,168,168,168,168,168,168,168,168,168,168, \ 179 168,167,168,168,184,168,168,168,184,184,184,184,184,184,184,184, \ 180 172,184,179,180,184,184,184,184,184,184,176,180,184,184,216,216, \ 181 184,184,184,216,184,184,216,184,184,216,184,216,216,184,216,216, \ 182 240,240,216,216,240,240,216,216,240,240,239,214,240,240,216,240, \ 183 240,240,238,240,240,240,216,240,240,239,240,216,240,240,216,238, \ 184 240,240,240,216,240,240,240,238,240,240,239,240,240,240,240,240, \ 185 240,239,240,240,240,240,240,240,240,240,239,238,240,240,240,240, \ 186 240,240,240,238,240,240,240,240,240,240,239,238,240,240,240,240, \ 187 240,240,238,238,240,240,240,240,240,239,239,240,240,240,240,240, \ 188 240,240,240,240,240,240,271,240,240,240,240,271,240,240,272,272, \ 189 272,272,272,272,272,272,272,272,270,271,272,272,272,272,272,272, \ 190 272,271,272,272,272,269,272,272,272,270,269,272,272,272,272,272, \ 191 272,272,272,269,272,272,272,272,304,267,271,272,272,272,272,272, \ 192 271,272,272,272,272,272,271,272,272,270,272,272,272,272,273,301, \ 193 304,304,300,301,304,303,304,304,304,303,303,304,304,304,303,301, \ 194 304,304,303,298,304,304,303,304,304,303,301,304,304,303,301,302, \ 195 304,303,304,304,304,304,301,304,304,304,301,302,304,304,301,304, \ 196 304,303,303,304,304,304,304,304,304,304,303,304,304,304,336,336, \ 197 336,335,336,334,336,336,336,336,336,336,336,336,336,336,336,336, \ 198 336,336,334,336,336,336,336,336,336,336,335,336,336,336,336,336, \ 199 336,336,336,336,336,328,336,336,336,336,335,336,336,336,336,336, \ 200 336,368,336,334,336,336,336,336,336,336,336,336,336,336,396,400, \ 201 398,384,368,400,384,399,399,400,368,368,368,400,368,368,368,400, \ 202 400,400,399,400,400,376,400,400,400,367,399,400,368,367,400,366, \ 203 367,368,400,366,368,368,365,368,368,368,400,399,400,400,368,399, \ 204 368,368,366,368,368,368,400,368,368,368,368,368,368,368,400,400, \ 205 396,400,397,374,400,399,400,400,400,400,397,398,400,401,400,400, \ 206 400,400,400,396,399,397,400,400,400,400,400,396,400,401,400,432, \ 207 400,398,399,400,396,396,432,432,400,432,400,396,400,397,399,400, \ 208 400,400,400,396,400,401,432,432,432,399,432,400,400,432,432,432, \ 209 432,432,432,432,432,433,432,432,432,432,432,480,480,432,432,432, \ 210 432,432,432,432,432,432,432,432,432,431,431,432,432,480,432,432, \ 211 480,480,432,478,480,432,432,480,432,432,432,432,480,432,432,432, \ 212 432,432,432,432,480,480,432,432,480,432,432,432,432,432,480,478, \ 213 480,447,477,480,480,480,480,480,480,479,440,444,480,445,448,480, \ 214 480,479,464,464,480,480,480,478,480,480,478,480,480,480,480,480, \ 215 480,479,480,479,480,480,478,480,480,480,478,478,480,480,480,480, \ 216 480,480,480,478,480,480,480,478,480,479,478,480,480,476,480,478, \ 217 480,480,478,478,480,480,480,480,480,479,479,478,480,480,480,480, \ 218 480,479,480,478,480,480,480,480,480,479,543,544,544,480,544,544, \ 219 542,543,544,544,544,540,544,544,544,544,544,542,544,544,544,544, \ 220 542,542,542,542,544,544,544,560,542,542,575,543,544,544,544,542, \ 221 544,575,575,544,544,544,544,544,561,561,543,559,544,560,560,560, \ 222 608,587,573,575,575,608,583,585,560,575,585,575,588,573,608,577 \ 223 224 #define MPFR_MUL_THRESHOLD 13 /* limbs */ 225 #define MPFR_SQR_THRESHOLD 11 /* limbs */ 226 #define MPFR_DIV_THRESHOLD 19 /* limbs */ 227 #define MPFR_EXP_2_THRESHOLD 1092 /* bits */ 228 #define MPFR_EXP_THRESHOLD 11053 /* bits */ 229 #define MPFR_SINCOS_THRESHOLD 25857 /* bits */ 230 #define MPFR_AI_THRESHOLD1 -19352 /* threshold for negative input of mpfr_ai */ 231 #define MPFR_AI_THRESHOLD2 1476 232 #define MPFR_AI_THRESHOLD3 30069 233 /* Tuneup completed successfully, took 8167 seconds */ 234