1 /* Various Thresholds of MPFR, not exported. -*- mode: C -*- 2 3 Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 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 4.3.2 */ 23 /* gcc14.fsffrance.org (Intel(R) Xeon(R) CPU X5450 @ 3.00GHz) with gmp 5.0.2 24 configured with ABI=32 */ 25 26 27 #define MPFR_MULHIGH_TAB \ 28 -1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,0,10,10,0, \ 29 11,11,0,13,13,0,0,17,17,16,19,19,19,18,18,22, \ 30 20,18,19,26,26,28,23,24,28,29,26,28,29,28,30,32, \ 31 29,30,38,30,34,32,33,37,34,36,37,38,38,38,38,38, \ 32 38,44,36,52,44,48,52,56,51,52,56,56,52,52,56,58, \ 33 52,60,60,56,60,55,52,68,60,68,68,68,68,72,72,67, \ 34 68,68,68,76,76,68,75,75,68,72,76,68,68,75,72,72, \ 35 78,73,74,72,76,74,76,72,76,74,76,72,76,76,75,76, \ 36 75,74,76,76,99,99,104,76,76,111,104,102,99,99,99,104, \ 37 93,105,99,104,99,104,99,99,99,96,102,99,104,104,104,108, \ 38 104,105,111,110,110,111,111,111,109,111,110,111,111,114,108,111, \ 39 111,111,105,105,111,108,111,110,111,110,111,111,110,111,110,134, \ 40 111,141,153,153,153,140,141,165,141,153,151,153,153,153,152,152, \ 41 153,165,153,152,153,153,153,163,165,164,165,153,153,164,163,164, \ 42 165,165,153,168,168,173,174,165,176,177,177,164,176,177,165,165, \ 43 165,172,164,165,165,165,168,177,175,176,177,176,165,175,176,176, \ 44 165,177,176,177,204,204,204,204,204,203,177,218,217,220,204,219, \ 45 220,217,220,220,220,218,219,220,220,220,220,217,217,219,220,220, \ 46 217,204,217,219,220,220,217,218,218,219,220,219,220,219,219,220, \ 47 220,220,220,220,219,220,220,220,220,251,220,219,220,220,220,236, \ 48 249,220,251,250,249,249,251,248,251,251,251,250,251,251,251,249, \ 49 248,248,240,250,250,250,249,251,246,251,250,251,251,251,250,250, \ 50 251,249,249,250,251,251,249,251,250,306,305,306,306,306,306,306, \ 51 306,306,306,251,306,306,305,305,306,306,305,305,306,306,306,305, \ 52 330,305,306,305,306,306,306,330,306,306,305,305,330,330,327,330, \ 53 330,330,306,329,330,330,330,330,330,329,330,306,330,330,329,329, \ 54 329,330,329,330,330,330,330,330,330,327,328,329,330,329,329,330, \ 55 330,329,330,330,328,330,330,330,330,330,354,330,329,330,330,354, \ 56 330,329,330,353,354,330,354,354,330,353,354,354,354,354,354,354, \ 57 354,354,353,354,352,354,354,354,330,354,354,353,354,354,354,378, \ 58 353,408,408,408,408,407,408,407,407,408,408,408,408,407,408,408, \ 59 407,407,407,440,407,408,408,407,439,408,408,408,407,408,440,440, \ 60 440,440,440,440,440,439,440,437,439,440,439,439,440,440,439,440, \ 61 439,439,440,439,440,440,440,439,438,439,440,440,439,440,438,439, \ 62 440,440,440,439,440,440,440,440,438,440,439,439,440,440,440,439, \ 63 440,440,440,440,440,440,439,440,440,471,472,471,439,440,439,472, \ 64 472,472,472,472,472,472,440,472,439,440,471,472,471,471,439,472, \ 65 496,496,496,472,440,471,472,480,495,496,496,495,472,534,536,534, \ 66 534,536,536,536,536,536,536,536,536,536,535,536,536,536,536,536, \ 67 534,535,536,536,536,535,534,534,535,536,536,534,535,536,536,535, \ 68 536,536,536,536,535,536,536,536,536,536,535,536,568,535,536,536, \ 69 536,535,536,568,536,536,568,536,568,568,568,536,568,536,536,566, \ 70 567,567,535,568,568,536,535,536,535,536,536,536,567,536,568,536, \ 71 568,567,568,568,567,600,597,568,567,567,568,600,568,568,568,598, \ 72 566,567,568,568,566,568,568,568,567,568,567,568,568,568,568,568, \ 73 600,567,568,600,568,600,568,568,568,568,568,600,599,566,568,600, \ 74 568,568,600,567,568,599,567,600,599,600,568,600,567,599,600,599, \ 75 568,597,600,598,600,599,599,599,600,600,598,600,598,600,597,600, \ 76 600,600,600,600,600,599,600,600,598,599,600,599,600,639,600,600, \ 77 600,600,568,639,600,568,567,568,568,568,600,640,600,599,600,599, \ 78 600,600,600,598,600,599,568,600,598,600,600,599,600,597,639,598, \ 79 600,600,600,600,599,600,600,600,600,600,600,687,736,598,599,600, \ 80 736,600,600,688,736,736,600,688,735,736,736,734,736,736,735,736, \ 81 640,734,735,736,734,733,736,736,731,735,736,736,736,736,736,736, \ 82 736,735,736,736,736,736,784,735,784,735,784,783,783,736,736,735, \ 83 784,784,784,736,783,784,784,784,784,783,783,784,784,784,784,784, \ 84 781,782,782,784,784,784,784,784,784,734,784,783,784,784,784,736, \ 85 808,783,784,784,784,783,784,783,784,783,784,783,784,832,832,829, \ 86 832,824,823,832,824,784,784,824,831,832,784,783,784,783,784,832, \ 87 784,784,784,783,784,784,781,784,784,784,784,783,824,832,831,784, \ 88 832,831,832,830,832,807,784,832,830,784,832,808,832,824,823,832, \ 89 824,808,831,824,824,824,832,823,832,824,832,831,832,832,829,830, \ 90 831,832,832,832,831,831,832,832,830,832,832,832,832,831,831,832, \ 91 879,832,832,880,832,831,832,831,832,832,832,832,832,832,832,831 \ 92 93 #define MPFR_SQRHIGH_TAB \ 94 -1,0,0,0,-1,-1,-1,-1,-1,-1,-1,8,8,8,9,9, \ 95 10,10,11,13,13,14,15,16,14,16,17,16,18,17,19,18, \ 96 20,18,19,22,21,22,23,22,23,22,25,24,25,24,25,26, \ 97 27,26,29,27,28,29,30,34,34,36,36,38,38,40,40,42, \ 98 34,44,42,46,38,42,44,38,38,44,40,42,42,50,44,46, \ 99 50,48,48,44,50,52,52,46,50,46,52,50,52,50,50,52, \ 100 52,54,52,52,54,58,58,54,57,58,58,58,56,58,58,58, \ 101 68,58,64,68,72,60,64,72,68,64,72,64,72,68,72,68, \ 102 76,76,72,76,80,76,76,76,84,80,76,88,84,84,84,84, \ 103 88,84,87,88,88,92,92,92,88,96,92,96,96,92,96,96, \ 104 100,100,100,100,96,84,92,92,88,96,92,88,99,92,96,91, \ 105 92,96,100,100,99,100,100,100,100,96,98,96,100,98,100,100, \ 106 100,100,100,117,100,123,123,135,122,123,124,129,126,122,135,123, \ 107 129,135,135,133,134,135,141,140,135,126,140,135,129,129,129,132, \ 108 146,134,129,147,150,135,152,140,135,140,141,141,147,141,147,147, \ 109 147,150,141,147,152,147,141,150,141,151,153,146,147,152,147,147, \ 110 147,152,147,153,151,153,147,147,153,150,147,152,153,150,150,152, \ 111 153,150,153,152,153,150,147,164,150,187,188,148,187,180,152,196, \ 112 187,196,180,186,187,188,196,187,196,188,196,180,195,196,188,188, \ 113 188,196,196,188,192,194,195,196,196,196,195,204,211,212,203,204, \ 114 204,196,196,203,204,220,212,203,196,204,195,204,196,187,216,188, \ 115 200,195,196,204,219,203,195,196,188,203,204,195,203,204,219,195, \ 116 196,211,212,220,196,203,196,212,204,204,220,196,203,220,220,211, \ 117 203,212,212,211,212,212,216,218,220,211,211,218,220,219,220,220, \ 118 220,220,220,220,220,220,219,220,282,282,219,276,276,282,282,275, \ 119 276,282,269,276,258,294,276,282,282,294,294,270,282,294,258,270, \ 120 258,270,294,270,258,270,282,276,306,282,282,282,282,282,276,270, \ 121 282,282,282,281,282,281,281,294,282,276,282,282,282,294,294,282, \ 122 306,306,294,282,294,282,294,294,305,288,306,294,294,294,306,294, \ 123 306,305,318,306,306,318,312,306,306,318,305,306,306,306,317,312, \ 124 311,318,311,312,324,318,317,330,330,318,318,330,323,330,329,330, \ 125 324,330,329,324,342,330,342,329,330,336,341,318,294,329,341,306, \ 126 300,305,300,299,300,305,306,306,324,305,318,318,312,317,330,306, \ 127 306,306,306,306,318,317,318,318,318,324,330,329,324,318,318,318, \ 128 323,324,306,323,324,324,329,328,328,330,330,330,318,318,318,317, \ 129 317,336,330,342,342,341,330,330,330,342,330,340,330,330,318,341, \ 130 342,426,426,341,342,425,426,426,426,342,426,425,426,425,425,426, \ 131 426,426,318,426,425,450,426,425,378,378,378,426,426,450,450,450, \ 132 402,330,449,450,449,450,450,449,450,450,402,450,450,450,450,450, \ 133 426,401,402,450,450,426,426,450,474,472,474,450,426,426,426,474, \ 134 474,474,473,425,426,450,450,426,424,425,426,426,474,449,450,450, \ 135 450,426,474,449,426,450,450,448,449,498,450,498,450,426,450,449, \ 136 448,450,450,448,449,449,474,448,449,450,450,473,474,474,473,449, \ 137 449,474,450,474,450,450,473,474,450,473,474,474,474,474,521,498, \ 138 474,474,474,474,474,474,498,498,474,474,474,473,473,474,474,498, \ 139 498,474,498,498,498,498,498,519,498,522,522,498,498,520,498,498, \ 140 498,498,498,522,522,498,521,521,520,521,522,522,474,522,521,546, \ 141 520,522,546,522,516,546,546,521,522,522,522,521,522,522,521,474, \ 142 545,545,546,546,474,522,522,522,522,474,498,546,522,546,546,544, \ 143 545,545,522,521,546,546,546,522,546,545,522,498,546,546,522,520, \ 144 522,522,522,521,521,545,546,522,521,522,600,568,522,522,521,522, \ 145 600,522,521,521,522,522,519,599,521,522,545,546,522,545,546,545, \ 146 522,599,522,521,546,545,546,546,600,598,600,546,546,545,546,600, \ 147 568,546,600,546,598,600,600,632,632,545,546,599,600,546,546,545, \ 148 546,632,632,600,632,631,632,631,600,600,632,632,598,600,632,599, \ 149 599,599,600,599,599,600,600,600,600,596,600,631,599,600,600,599, \ 150 600,600,600,600,600,600,664,631,632,600,663,664,696,664,600,664, \ 151 663,631,696,662,600,693,696,695,663,696,696,664,631,632,688,630, \ 152 632,632,696,631,695,632,632,695,696,695,695,696,696,696,632,695, \ 153 696,695,696,696,632,695,696,631,664,664,695,663,663,664,696,687, \ 154 662,664,664,663,664,663,694,695,695,727,728,728,693,728,693,695, \ 155 696,696,696,696,696,694,695,696,696,695,696,694,727,696,696,688, \ 156 695,696,696,695,696,695,695,696,696,727,696,696,695,696,695,696, \ 157 696,695,696,695,696,696,696,728,728,696,720,728,728,728,726,728 \ 158 159 #define MPFR_DIVHIGH_TAB \ 160 0,1,2,3,4,5,6,7,8,9,10,9,10,11,14,13, \ 161 14,11,16,17,13,14,15,16,16,14,16,16,16,19,20,18, \ 162 23,18,22,19,24,25,27,23,23,24,24,23,27,28,27,28, \ 163 28,33,29,30,32,29,37,32,35,33,33,39,33,33,35,38, \ 164 39,38,38,37,38,39,37,37,48,40,39,40,40,50,51,46, \ 165 47,48,48,46,50,50,50,59,52,50,51,48,56,56,54,50, \ 166 51,54,53,58,58,58,56,59,61,58,62,59,62,67,62,67, \ 167 60,64,71,68,64,64,62,68,67,72,66,72,76,72,74,72, \ 168 67,72,72,74,76,70,74,74,76,76,76,76,76,76,74,76, \ 169 76,76,80,87,78,76,88,80,79,88,88,96,94,96,88,103, \ 170 104,104,104,100,103,102,104,104,104,96,104,104,112,112,104,104, \ 171 95,104,104,103,104,104,104,112,104,104,104,103,112,104,104,112, \ 172 104,104,112,104,104,112,104,112,112,112,111,112,120,104,112,116, \ 173 112,120,112,110,120,112,120,112,120,118,116,126,119,120,128,120, \ 174 136,128,120,120,136,120,120,136,152,136,136,136,143,136,128,140, \ 175 128,152,148,152,136,144,152,152,144,152,144,152,152,152,152,152, \ 176 134,152,152,136,136,136,140,152,152,143,152,144,152,152,152,152, \ 177 152,152,144,152,152,152,144,152,152,152,152,152,152,152,152,152, \ 178 152,152,152,152,152,152,150,151,152,152,152,152,156,152,160,160, \ 179 168,156,176,159,160,160,176,160,176,174,176,176,208,176,176,174, \ 180 176,183,176,208,208,176,208,208,208,208,192,208,208,208,208,208, \ 181 208,208,208,200,208,208,208,208,208,208,208,208,208,208,208,208, \ 182 208,208,208,208,208,208,222,208,209,208,208,208,208,208,208,222, \ 183 208,208,208,208,208,208,208,208,208,208,208,208,208,207,208,208, \ 184 208,208,208,208,208,208,208,208,208,222,220,220,222,208,221,216, \ 185 208,220,208,208,208,209,208,208,220,208,208,208,208,208,222,221, \ 186 222,220,220,224,220,216,216,220,216,220,221,222,216,224,224,222, \ 187 222,221,221,222,222,224,222,222,222,222,228,240,232,224,225,225, \ 188 304,228,272,256,231,248,240,234,232,272,288,234,270,256,264,240, \ 189 240,272,256,272,270,271,272,240,303,270,304,304,272,303,304,304, \ 190 304,304,272,270,272,304,288,287,257,303,304,304,288,304,304,272, \ 191 304,304,304,272,304,305,304,303,304,304,303,302,303,304,272,303, \ 192 304,304,304,303,304,304,272,304,304,288,288,304,304,304,305,282, \ 193 304,304,303,304,304,304,304,304,303,304,304,304,302,304,304,305, \ 194 303,302,287,302,304,304,304,305,304,304,302,302,303,303,304,288, \ 195 303,304,304,304,304,302,303,304,304,288,304,303,304,304,304,303, \ 196 304,304,303,303,304,304,304,304,304,304,304,303,304,303,304,304, \ 197 304,303,304,303,304,304,320,303,304,304,304,304,304,304,305,306, \ 198 320,312,320,320,320,320,320,320,320,320,320,320,320,320,352,320, \ 199 352,320,336,320,352,320,319,320,336,336,352,348,348,344,348,348, \ 200 352,348,351,351,351,352,352,354,350,352,352,352,360,353,416,359, \ 201 352,360,416,352,352,370,416,352,353,416,352,416,416,416,352,416, \ 202 352,416,416,416,416,352,408,416,416,384,416,352,416,392,416,416, \ 203 416,401,408,416,416,416,416,416,416,416,416,407,416,408,416,416, \ 204 416,408,408,416,416,416,416,432,416,416,416,436,440,416,416,440, \ 205 440,416,416,416,432,416,440,416,440,438,440,416,440,416,440,438, \ 206 440,444,416,448,416,440,440,440,416,448,448,415,447,440,416,440, \ 207 416,416,408,408,416,416,416,448,416,416,416,416,416,416,416,416, \ 208 416,416,416,416,416,416,440,416,417,416,416,416,416,416,416,416, \ 209 416,416,416,440,416,416,440,416,416,448,416,416,416,416,416,416, \ 210 448,416,416,416,448,416,416,416,416,416,440,416,416,416,432,440, \ 211 416,416,416,416,416,432,416,432,432,440,440,416,416,416,440,440, \ 212 440,448,448,438,440,433,440,439,440,448,440,440,440,439,440,447, \ 213 444,439,440,440,440,440,448,448,448,440,440,448,444,448,443,440, \ 214 440,440,440,440,440,448,448,440,448,439,440,444,447,448,448,448, \ 215 448,448,448,448,448,448,448,447,448,448,448,448,448,448,512,608, \ 216 480,608,464,480,608,456,464,608,608,480,608,480,608,480,480,480, \ 217 608,480,512,480,608,513,512,608,512,512,608,512,608,496,480,496, \ 218 608,516,496,608,480,512,608,512,608,512,512,608,608,608,608,608, \ 219 608,576,608,607,608,608,512,608,607,609,607,608,608,609,608,608, \ 220 609,608,608,608,607,608,607,608,607,608,608,608,608,608,608,607, \ 221 607,608,608,608,608,608,607,607,608,607,608,608,608,607,608,608, \ 222 608,608,609,609,608,608,609,608,608,608,606,606,608,608,609,607, \ 223 606,607,608,608,610,608,608,609,608,608,608,608,608,608,607,608 \ 224 225 #define MPFR_MUL_THRESHOLD 15 /* limbs */ 226 #define MPFR_SQR_THRESHOLD 18 /* limbs */ 227 #define MPFR_DIV_THRESHOLD 22 /* limbs */ 228 #define MPFR_EXP_2_THRESHOLD 649 /* bits */ 229 #define MPFR_EXP_THRESHOLD 10653 /* bits */ 230 #define MPFR_SINCOS_THRESHOLD 36331 /* bits */ 231 #define MPFR_AI_THRESHOLD1 -21595 /* threshold for negative input of mpfr_ai */ 232 #define MPFR_AI_THRESHOLD2 2333 233 #define MPFR_AI_THRESHOLD3 33925 234 /* Tuneup completed successfully, took 1155 seconds */ 235