1 /* Various Thresholds of MPFR, not exported. -*- mode: C -*- 2 3 Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011 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, 2009-02-09, gcc 4.3 */ 23 /* crumble.loria.fr with gmp-4.2.4 */ 24 25 26 #define MPFR_MULHIGH_TAB \ 27 -1,0,0,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,0,0,0, \ 29 0,0,0,19,20,20,24,26,0,0,24,26,28,27,26,28, \ 30 30,32,32,32,30,30,34,34,32,34,34,36,32,34,36,34, \ 31 35,0,0,36,36,0,37,48,0,0,48,48,51,0,48,52, \ 32 51,0,52,52,51,55,52,56,55,0,56,60,59,59,60,64, \ 33 63,63,64,64,67,67,68,72,63,71,72,60,67,67,60,72, \ 34 63,61,64,64,63,71,68,68,71,67,68,68,67,71,68,72, \ 35 68,68,72,72,76,76,69,69,72,72,71,103,104,72,73,96, \ 36 103,94,95,104,96,96,94,103,104,104,96,96,103,103,104,104, \ 37 120,120,103,103,104,104,120,111,103,112,104,104,120,120,109,103, \ 38 119,119,120,120,127,112,128,128,120,120,136,127,128,128,120,126, \ 39 121,129,126,134,135,135,136,120,113,113,114,118,127,127,136,120, \ 40 121,125,126,118,119,119,120,136,121,153,122,122,127,119,120,128, \ 41 165,153,162,134,163,159,136,136,153,153,134,158,135,135,136,136, \ 42 153,153,162,158,159,159,156,152,153,189,158,186,187,163,156,168, \ 43 189,159,165,165,176,176,172,172,183,173,164,174,165,165,176,176, \ 44 177,177,183,188,189,189,180,185,176,186,177,177,193,188,189,189, \ 45 200,200,201,201,177,207,188,198,199,189,200,200,186,201,207,207, \ 46 213,203,189,189,200,210,201,196,212,207,208,213,189,199,200,200, \ 47 203,209,216,204,199,223,206,200,213,225,208,208,203,203,216,204, \ 48 205,205,224,212,213,213,184,208,209,203,198,210,199,187,206,200, \ 49 201,189,208,208,203,185,216,198,187,199,200,212,213,213,202,208, \ 50 203,197,198,198,199,211,212,212,285,213,280,274,227,275,288,204, \ 51 284,284,278,285,307,216,273,308,309,309,275,219,213,311,305,284, \ 52 306,306,307,307,308,308,309,309,303,303,311,311,284,312,285,285, \ 53 307,286,287,308,309,309,303,303,304,332,305,305,306,299,328,300, \ 54 308,301,309,309,303,310,311,311,333,305,285,285,307,314,308,308, \ 55 321,305,354,322,331,355,332,308,309,333,334,334,303,303,304,312, \ 56 305,305,306,306,307,307,308,308,309,309,302,302,375,311,312,360, \ 57 353,305,330,354,307,355,380,308,357,309,358,358,359,311,312,312, \ 58 345,329,378,354,331,355,356,356,357,357,374,334,375,311,336,384, \ 59 356,329,330,357,331,358,404,332,369,333,334,334,335,353,354,354, \ 60 355,382,356,347,357,357,358,358,377,359,405,333,352,379,353,353, \ 61 354,354,355,355,356,356,357,357,358,376,359,377,369,360,379,370, \ 62 380,380,354,372,355,382,383,401,357,357,376,358,377,377,405,378, \ 63 379,379,380,380,381,381,402,402,353,403,404,404,405,405,376,376, \ 64 377,357,368,358,379,379,360,400,401,381,372,452,373,383,454,384, \ 65 405,405,456,356,357,357,358,378,379,379,490,370,381,381,492,402, \ 66 463,403,404,404,405,405,456,456,527,357,448,448,489,449,400,450, \ 67 453,453,454,454,455,455,456,456,468,490,491,491,492,404,405,482, \ 68 472,450,451,462,463,463,464,453,465,465,455,455,456,489,490,490, \ 69 491,491,492,492,405,526,483,527,484,484,452,452,486,453,454,454, \ 70 455,477,456,522,490,490,491,524,481,492,526,482,483,527,495,517, \ 71 521,533,522,474,499,523,524,524,489,489,490,526,527,527,528,528, \ 72 529,529,518,554,495,483,496,472,521,557,486,522,535,535,524,512, \ 73 525,561,526,526,491,527,528,528,529,517,518,554,531,519,544,520, \ 74 521,521,558,546,559,535,560,536,489,573,490,514,491,563,492,492, \ 75 528,489,555,555,491,491,492,596,597,545,546,546,560,599,600,600, \ 76 523,562,563,511,564,525,526,630,553,527,528,528,607,555,595,543, \ 77 544,531,532,571,559,559,599,560,535,535,562,562,563,537,564,564, \ 78 565,630,514,631,528,632,555,542,634,595,557,557,597,558,559,559, \ 79 571,599,530,530,559,545,546,616,561,547,548,534,633,563,564,564, \ 80 607,537,594,636,567,539,624,554,555,555,598,598,557,557,558,572, \ 81 559,559,560,574,603,561,562,632,563,563,578,592,593,607,580,608, \ 82 553,609,624,596,597,597,598,612,627,585,600,614,573,629,616,602, \ 83 599,599,585,585,616,616,587,632,603,603,634,634,635,605,636,621, \ 84 622,607,623,593,609,609,625,610,611,626,612,597,628,598,599,599, \ 85 600,630,631,616,602,632,633,603,634,634,635,635,636,636,607,637, \ 86 668,608,609,609,610,610,611,611,597,657,628,628,629,629,630,630, \ 87 609,625,562,626,627,563,564,628,629,629,630,630,631,599,664,632, \ 88 681,633,634,634,635,635,620,636,621,621,622,622,623,639,672,592, \ 89 609,641,594,594,595,627,596,564,629,597,598,598,631,599,600,600, \ 90 601,681,618,634,603,635,636,636,557,621,622,606,623,623,608,608 \ 91 92 #define MPFR_SQRHIGH_TAB \ 93 -1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,8,8,9,9, \ 94 10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17, \ 95 18,18,19,19,20,20,21,21,22,22,23,23,26,24,25,25, \ 96 26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33, \ 97 34,34,35,35,36,36,37,38,39,39,39,39,40,40,41,41, \ 98 42,42,43,43,44,44,45,46,46,46,47,47,48,48,49,49, \ 99 50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57, \ 100 58,58,59,59,60,60,61,61,62,62,63,68,64,64,65,65, \ 101 66,68,67,69,68,68,71,69,70,75,76,76,72,72,73,73, \ 102 74,82,75,80,78,76,77,77,78,83,79,81,82,80,81,81, \ 103 82,82,83,85,84,84,85,85,86,86,87,87,88,88,89,89, \ 104 90,92,91,93,94,92,93,93,94,94,95,95,96,96,97,97, \ 105 98,98,99,99,100,100,101,101,102,102,103,103,104,104,105,105, \ 106 106,106,107,107,108,108,109,112,110,110,111,118,112,112,113,113, \ 107 114,114,115,122,123,116,117,117,118,118,119,119,120,120,121,121, \ 108 122,122,123,123,124,124,125,125,126,126,127,127,128,128,129,129, \ 109 130,154,135,131,132,132,133,133,134,134,135,135,136,140,151,137, \ 110 142,138,139,143,144,154,155,150,151,156,152,143,153,158,145,145, \ 111 165,146,147,147,152,162,149,149,150,150,151,151,152,171,153,153, \ 112 154,154,155,155,156,156,157,157,158,158,159,159,160,160,161,161, \ 113 162,162,163,163,164,164,165,165,166,166,167,167,168,168,169,169, \ 114 170,170,171,171,172,183,173,173,174,174,175,175,176,187,194,182, \ 115 183,178,179,179,180,180,181,181,182,182,183,183,195,184,185,185, \ 116 186,197,187,187,188,188,189,189,190,190,191,191,192,192,193,204, \ 117 207,200,201,208,209,196,197,203,204,198,199,199,200,200,201,201, \ 118 202,215,216,230,217,210,211,218,212,206,207,207,208,208,209,209, \ 119 210,230,231,231,232,225,226,226,227,227,228,242,222,257,217,217, \ 120 218,245,246,219,220,240,241,234,235,235,236,264,230,258,225,225, \ 121 226,226,227,227,228,228,229,260,261,230,231,270,247,232,233,233, \ 122 234,234,235,235,236,236,237,237,238,238,239,239,240,240,241,241, \ 123 242,242,243,243,244,244,245,245,246,246,247,247,248,248,249,249, \ 124 250,250,251,251,252,252,253,253,254,254,255,255,256,256,257,257, \ 125 258,258,259,259,260,260,261,261,262,262,263,263,264,264,265,265, \ 126 266,266,267,267,268,268,269,269,270,270,279,271,272,272,273,273, \ 127 274,274,275,275,276,276,277,277,278,278,279,279,280,280,281,281, \ 128 282,282,283,283,284,284,285,285,294,286,287,287,288,288,289,289, \ 129 290,290,291,291,292,292,293,293,294,294,295,295,296,296,297,297, \ 130 298,298,299,299,300,300,301,301,302,302,303,303,304,304,305,305, \ 131 306,306,307,307,308,308,309,309,310,310,311,311,312,312,313,313, \ 132 314,314,315,315,316,316,317,317,318,318,319,319,320,320,321,321, \ 133 322,322,323,323,324,324,325,325,326,326,327,337,349,338,329,329, \ 134 330,330,331,331,332,332,333,333,334,334,335,335,336,336,337,337, \ 135 338,338,339,360,340,340,341,341,342,342,343,343,344,354,355,345, \ 136 346,346,368,368,369,369,359,349,393,382,383,361,362,362,363,363, \ 137 365,365,366,390,367,391,380,404,358,393,406,382,383,395,396,396, \ 138 385,409,386,410,387,399,388,412,413,401,390,367,368,403,404,416, \ 139 417,405,382,406,407,407,408,408,409,409,410,410,435,411,412,412, \ 140 413,413,414,379,439,427,428,392,393,441,442,430,479,455,444,432, \ 141 437,386,451,387,465,439,427,389,390,454,455,455,404,417,444,444, \ 142 394,394,395,446,460,460,461,487,410,475,399,476,477,464,401,465, \ 143 402,492,403,403,404,404,405,405,406,406,407,419,408,408,409,409, \ 144 410,410,411,411,412,412,413,413,414,414,415,415,416,416,417,417, \ 145 418,418,419,419,420,420,421,421,422,422,423,423,424,424,425,508, \ 146 426,426,427,427,428,428,429,429,430,430,431,431,432,432,433,433, \ 147 434,434,435,435,436,436,437,437,438,438,439,536,440,440,441,441, \ 148 442,442,443,443,444,444,445,445,446,446,447,447,448,448,449,476, \ 149 450,450,451,451,452,452,482,453,454,454,455,455,456,456,457,457, \ 150 458,458,459,459,460,460,461,461,462,462,463,463,464,464,465,465, \ 151 466,466,467,467,468,468,469,469,470,470,471,471,472,472,473,473, \ 152 474,474,475,475,476,476,477,477,478,478,479,479,480,480,481,481, \ 153 482,482,483,483,484,484,485,485,486,486,487,487,488,488,489,489, \ 154 490,490,491,491,492,492,493,493,494,494,495,495,496,496,497,497, \ 155 498,498,499,499,500,500,501,501,502,502,503,503,504,504,505,505, \ 156 506,506,507,507,508,508,509,509,510,510,511,511,512,512,513,513 \ 157 158 #define MPFR_MUL_THRESHOLD 8 /* limbs */ 159 #define MPFR_EXP_2_THRESHOLD 519 /* bits */ 160 #define MPFR_EXP_THRESHOLD 6533 /* bits */ 161