(root)/
mpfr-4.2.1/
src/
x86/
mparam.h
       1  /* Various Thresholds of MPFR, not exported.  -*- mode: C -*-
       2  
       3  Copyright 2005-2023 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  https://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, 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 */