Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

/* Various Thresholds of MPFR, not exported.  -*- mode: C -*-

Copyright 2005-2023 Free Software Foundation, Inc.

This file is part of the GNU MPFR Library.

The GNU MPFR Library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 3 of the License, or (at your
option) any later version.

The GNU MPFR Library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
License for more details.

You should have received a copy of the GNU Lesser General Public License
along with the GNU MPFR Library; see the file COPYING.LESSER.  If not, see
https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */

/* Generated by MPFR's tuneup.c, 2018-02-22, gcc 6.3.0 */
/* gcc13.fsffrance.org (Dual-Core AMD Opteron(tm) Processor 2212)
   with gmp 6.1.2, which uses -m64 -mtune=k8 -march=k8. */

#define MPFR_MULHIGH_TAB  \
 -1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,9,11, \
 12,13,11,15,14,15,15,16,18,18,19,20,18,19,19,20, \
 22,23,23,24,26,30,28,24,30,32,30,32,32,30,30,32, \
 32,30,30,32,32,38,32,40,36,36,40,40,38,38,38,38, \
 38,40,44,44,46,46,44,46,48,46,52,48,56,56,56,56, \
 56,56,56,60,60,60,64,64,64,64,64,64,64,64,64,64, \
 72,72,72,72,72,72,72,72,72,72,72,72,80,80,80,80, \
 80,80,80,80,80,80,80,80,80,93,80,93,93,80,80,93, \
 80,80,80,80,80,105,93,93,93,93,93,93,93,93,93,108, \
 93,93,111,93,105,117,105,117,117,117,111,117,117,105,111,105, \
 108,105,117,117,117,117,117,117,117,117,117,117,117,117,111,117, \
 117,117,117,117,129,129,117,129,129,129,135,129,129,129,135,135, \
 135,141,141,129,129,141,132,141,141,141,141,135,141,141,141,141, \
 141,141,141,141,141,141,141,159,141,153,141,153,153,165,165,165, \
 159,165,165,165,165,165,165,165,165,165,165,177,189,189,189,189, \
 189,189,177,189,189,189,189,189,189,189,189,189,189,189,189,189, \
 189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189, \
 189,213,213,189,189,189,189,189,213,213,213,213,213,213,213,213, \
 213,213,213,213,213,213,213,213,213,213,213,213,213,213,213,213, \
 213,213,213,213,213,213,213,213,213,213,213,213,213,213,225,225, \
 225,237,225,225,237,237,237,237,237,237,237,237,237,237,237,252, \
 237,237,252,252,252,252,252,252,252,252,252,252,252,252,252,252, \
 252,252,284,252,284,284,252,284,284,252,284,284,284,284,284,284, \
 284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284, \
 284,284,284,284,284,284,284,284,284,284,284,284,284,300,300,284, \
 300,300,300,300,300,300,300,300,316,316,315,316,316,315,316,316, \
 316,316,315,316,316,316,316,316,316,316,316,316,316,316,316,316, \
 316,314,315,316,316,316,316,314,315,316,316,316,316,316,316,316, \
 316,316,316,316,316,316,316,316,316,378,378,378,378,378,378,378, \
 378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378, \
 378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378, \
 378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,426, \
 378,426,378,426,378,378,378,378,426,426,426,426,426,426,426,426, \
 426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426, \
 426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426, \
 426,426,426,426,426,425,426,426,426,426,426,426,426,426,426,425, \
 426,426,426,426,474,425,474,426,474,474,504,426,474,504,504,504, \
 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
 504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
 504,504,504,504,504,504,504,504,504,504,504,504,504,503,504,504, \
 504,504,504,504,504,504,504,503,504,504,503,504,504,504,504,504, \
 504,504,568,504,568,504,504,504,568,504,568,568,568,568,568,568, \
 568,568,568,568,568,568,568,567,568,568,568,568,568,568,568,568, \
 568,568,568,568,568,568,568,568,568,567,568,568,568,568,568,568, \
 568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
 568,568,568,568,567,568,568,568,567,568,568,568,568,568,568,568, \
 568,568,568,568,568,568,567,568,568,568,568,568,568,568,568,568, \
 600,568,568,568,600,632,632,568,632,632,632,632,632,600,632,600, \
 632,632,600,600,632,632,599,600,632,632,632,632,632,632,632,632, \
 632,632,632,632,632,632,632,632,632,632,632,632,632,632,632,632, \
 632,632,632,632,632,632,631,632,632,632,632,632,630,631,632,632, \
 632,632,631,632,632,632,632,632,631,632,631,632,632,632,631,632, \
 632,632,632,632,632,632,632,632,632,632,632,632,632,632,632,631, \
 632,632,632,632,632,632,631,632,632,632,632,632,632,736,632,736, \
 736,736,736,736,736,735,736,735,736,736,736,735,736,736,736,735, \
 735,736,735,736,736,736,736,736,736,736,736,735,736,736,736,736, \
 736,736,736,736,735,736,736,736,736,736,736,736,736,736,735,736, \
 736,736,736,736,736,736,735,736,734,736,736,736,736,736,735,736, \
 735,736,735,736,736,736,736,736,735,736,736,736,736,736,736,736, \
 736,736,736,736,736,736,736,735,736,736,736,832,736,736,832,832, \
 736,831,831,832,832,832,832,832,832,832,830,832,832,832,832,832, \
 832,832,831,832,832,832,832,832,832,832,832,830,831,832,831,832, \
 831,832,832,832,832,832,831,832,831,831,831,832,832,832,832,832, \
 832,832,832,832,831,832,832,832,832,832,832,832,831,832,831,832 \

#define MPFR_SQRHIGH_TAB  \
 -1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,8,9,9,11, \
 11,11,11,12,13,14,15,15,17,18,18,17,17,18,18,20, \
 20,18,19,19,20,21,23,23,24,25,23,23,24,25,26,27, \
 28,27,28,29,28,31,32,31,32,31,32,33,34,34,34,40, \
 40,40,40,40,40,40,40,40,40,46,46,46,42,46,46,48, \
 48,48,48,48,48,48,48,48,56,54,56,56,56,48,56,56, \
 50,50,52,52,62,54,54,56,56,54,58,60,62,62,58,64, \
 64,62,66,64,64,72,66,68,66,72,72,72,72,72,72,72, \
 72,72,72,72,80,72,80,72,80,72,80,80,80,80,80,80, \
 84,80,80,84,80,80,80,80,80,92,92,92,96,92,96,92, \
 96,92,96,92,96,96,96,96,96,96,96,100,96,96,96,96, \
 96,96,96,96,100,96,96,112,112,112,96,112,112,112,112,112, \
 112,112,112,104,112,111,112,112,112,112,112,112,112,112,112,112, \
 112,112,112,141,112,141,135,135,141,135,128,141,141,141,135,141, \
 128,141,140,141,141,141,135,135,141,135,141,141,141,141,141,141, \
 141,141,147,141,141,147,147,141,141,141,159,147,141,147,147,159, \
 158,159,159,159,159,159,165,159,165,165,159,165,165,159,165,165, \
 165,171,159,165,165,165,165,165,165,165,171,171,165,171,171,183, \
 189,189,183,189,189,189,189,189,189,189,189,189,189,189,189,189, \
 189,189,189,188,189,189,188,171,171,188,189,189,189,189,189,189, \
 189,189,183,183,183,189,189,183,188,189,189,195,213,189,189,195, \
 189,189,188,195,189,189,189,195,213,189,189,189,213,213,213,189, \
 189,213,213,189,189,189,195,189,189,189,195,188,189,213,213,195, \
 213,213,213,213,213,213,213,213,213,213,213,213,213,213,213,213, \
 213,213,213,212,213,213,237,236,213,237,213,213,213,213,237,237, \
 237,237,237,237,237,237,237,237,237,237,237,236,237,237,237,237, \
 237,237,237,237,237,249,237,237,237,237,237,237,237,249,237,237, \
 237,272,273,236,273,237,273,273,273,285,273,273,249,273,237,285, \
 273,273,273,273,285,237,285,285,273,285,273,284,285,285,285,285, \
 285,285,285,285,285,285,285,284,285,285,285,285,285,284,273,284, \
 285,285,285,284,285,285,285,285,285,285,285,285,285,285,285,285, \
 285,285,285,285,284,333,333,333,309,333,285,332,333,333,309,333, \
 333,309,332,333,321,321,333,309,333,333,333,333,333,332,333,332, \
 333,333,333,333,333,332,333,333,332,333,333,333,333,333,333,333, \
 333,333,333,333,332,333,333,333,333,333,333,333,333,333,333,333, \
 333,333,333,333,333,332,333,333,333,332,333,333,333,333,333,333, \
 333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333, \
 333,333,333,333,333,420,333,333,333,402,420,420,402,402,420,420, \
 402,420,420,420,419,402,420,420,420,420,420,420,420,420,420,420, \
 420,420,420,420,420,420,420,420,420,420,420,419,420,420,420,420, \
 420,420,419,420,402,420,420,420,420,420,420,420,420,402,401,420, \
 420,420,402,420,420,402,419,420,420,420,419,420,420,420,420,420, \
 420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420, \
 420,420,420,420,420,418,419,420,419,420,420,420,420,420,420,420, \
 420,420,420,419,420,420,420,420,420,420,402,420,420,417,420,420, \
 420,420,420,420,420,420,420,420,419,420,420,420,420,420,420,420, \
 420,420,438,420,438,438,420,420,420,420,419,420,420,474,420,474, \
 474,474,474,492,492,474,420,474,492,474,420,492,568,473,420,492, \
 492,492,568,492,568,568,568,568,492,568,568,568,568,568,568,567, \
 568,568,568,568,568,568,492,568,568,492,568,568,568,492,568,568, \
 568,568,568,568,568,492,568,568,568,568,568,568,568,568,567,568, \
 568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
 568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
 568,568,567,568,568,568,568,568,568,568,567,568,568,568,568,568, \
 568,568,567,568,568,568,568,568,568,568,568,568,568,568,568,568, \
 568,568,568,568,568,568,568,568,568,568,568,567,568,568,568,568, \
 568,568,568,568,568,568,567,568,566,567,568,568,568,568,568,568, \
 568,568,568,568,566,568,568,568,568,568,568,568,568,568,568,568, \
 568,632,568,632,568,568,568,568,568,568,568,568,568,568,568,568, \
 632,568,568,568,568,568,568,568,568,568,568,568,568,630,568,568, \
 630,632,568,568,632,632,631,632,630,568,632,632,632,632,632,632, \
 632,632,632,632,631,632,632,632,632,632,632,632,664,631,632,664, \
 631,632,632,632,664,628,632,632,662,632,632,632,632,664,664,632, \
 632,632,632,664,664,632,632,632,664,631,632,632,664,632,632,632 \

#define MPFR_DIVHIGH_TAB  \
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*0-15*/ \
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*16-31*/ \
 0,0,22,0,0,0,0,0,26,26,26,27,0,29,30,30, /*32-47*/ \
 30,30,34,34,0,33,34,0,34,33,0,0,0,0,0,0, /*48-63*/ \
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*64-79*/ \
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*80-95*/ \
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*96-111*/ \
 0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0, /*112-127*/ \
 0,0,0,0,0,0,74,0,0,78,74,78,74,78,78,74, /*128-143*/ \
 0,0,78,78,78,78,0,78,0,78,0,0,0,0,88,0, /*144-159*/ \
 0,0,0,0,91,92,91,92,90,88,92,90,92,92,0,112, /*160-175*/ \
 92,94,96,95,95,112,104,104,112,112,112,112,112,104,112,120, /*176-191*/ \
 112,112,112,104,112,120,107,112,120,128,112,112,120,120,120,120, /*192-207*/ \
 112,120,120,120,128,128,128,120,128,128,128,128,128,128,128,128, /*208-223*/ \
 128,128,120,128,128,128,128,128,128,120,128,128,128,128,128,128, /*224-239*/ \
 128,128,128,128,136,128,128,128,128,128,148,136,148,128,136,136, /*240-255*/ \
 136,148,148,148,135,156,148,148,135,156,156,148,156,149,160,160, /*256-271*/ \
 156,148,156,156,144,160,156,160,148,156,160,156,156,160,156,149, /*272-287*/ \
 148,160,160,160,156,156,156,156,154,156,156,156,156,156,156,156, /*288-303*/ \
 156,156,156,160,156,156,157,160,160,160,160,160,160,160,184,184, /*304-319*/ \
 184,185,184,179,185,184,184,184,184,184,174,174,183,186,184,186, /*320-335*/ \
 182,184,185,185,186,186,186,184,208,184,192,208,184,184,184,208, /*336-351*/ \
 184,208,184,208,208,209,192,216,209,208,216,208,210,208,208,224, /*352-367*/ \
 222,208,208,216,208,224,210,208,222,210,224,224,208,208,210,224, /*368-383*/ \
 240,232,208,234,206,240,216,208,208,240,240,224,208,208,208,208, /*384-399*/ \
 208,208,224,224,233,208,224,224,208,216,224,224,208,240,224,222, /*400-415*/ \
 240,224,224,256,232,216,240,224,234,256,216,256,224,256,256,232, /*416-431*/ \
 240,240,240,240,255,224,232,256,256,240,256,256,240,256,240,256, /*432-447*/ \
 240,240,256,256,256,240,256,256,256,256,240,256,256,256,256,256, /*448-463*/ \
 256,256,256,256,255,256,256,254,256,256,256,256,256,256,256,256, /*464-479*/ \
 256,256,255,256,256,256,256,256,256,255,256,256,255,256,256,256, /*480-495*/ \
 256,256,256,256,256,256,256,256,256,256,256,256,256,256,280,272, /*496-511*/ \
 272,270,280,296,280,276,280,279,280,280,281,280,280,272,272,280, /*512-527*/ \
 280,272,280,282,312,272,282,312,280,312,280,280,288,280,281,296, /*528-543*/ \
 312,296,312,312,296,296,312,288,312,312,312,315,316,312,312,312, /*544-559*/ \
 312,312,312,312,312,318,312,313,312,302,318,312,311,296,312,312, /*560-575*/ \
 318,312,312,311,312,296,304,311,312,312,312,312,312,312,312,312, /*576-591*/ \
 313,312,312,312,312,312,312,318,312,312,312,312,312,312,311,312, /*592-607*/ \
 316,312,320,312,312,312,312,312,312,312,312,312,316,313,313,318, /*608-623*/ \
 317,316,317,318,320,318,318,318,320,318,348,368,320,336,372,372, /*624-639*/ \
 372,371,367,368,368,372,371,368,372,336,372,368,372,368,364,372, /*640-655*/ \
 372,354,384,368,352,368,372,371,348,352,372,366,368,366,372,368, /*656-671*/ \
 372,365,368,372,368,372,372,371,372,378,369,371,372,372,369,372, /*672-687*/ \
 372,372,370,378,384,372,370,367,416,384,416,416,371,372,420,424, /*688-703*/ \
 366,372,372,368,416,420,372,420,432,372,372,416,378,372,416,384, /*704-719*/ \
 420,416,420,414,416,416,448,416,419,424,425,416,416,425,432,432, /*720-735*/ \
 432,432,432,432,448,424,448,432,444,432,432,444,432,432,448,448, /*736-751*/ \
 448,448,448,448,420,416,420,416,448,448,448,420,448,420,432,432, /*752-767*/ \
 448,426,448,432,416,420,448,432,448,432,414,432,432,420,417,417, /*768-783*/ \
 420,444,416,444,419,424,420,426,432,420,432,416,480,416,420,424, /*784-799*/ \
 420,432,419,420,424,424,420,416,425,419,432,448,448,444,448,432, /*800-815*/ \
 426,420,432,448,448,448,432,448,512,464,444,448,447,448,448,448, /*816-831*/ \
 432,448,448,464,431,467,448,448,448,444,448,432,448,448,448,504, /*832-847*/ \
 448,447,432,432,448,512,432,464,448,504,448,448,480,444,448,449, /*848-863*/ \
 448,512,448,512,480,444,447,448,449,512,480,448,504,480,448,468, /*864-879*/ \
 448,448,448,467,512,464,463,504,480,504,504,448,480,512,512,504, /*880-895*/ \
 480,512,503,480,512,480,504,512,512,467,504,512,512,504,512,512, /*896-911*/ \
 512,512,504,504,462,480,512,504,512,504,504,504,480,464,480,504, /*912-927*/ \
 504,504,504,512,480,504,504,512,504,512,480,504,512,512,512,512, /*928-943*/ \
 512,504,480,504,512,504,480,512,512,480,512,480,561,512,504,512, /*944-959*/ \
 496,504,512,512,504,512,497,512,504,504,504,512,512,512,504,504, /*960-975*/ \
 504,512,512,512,512,512,512,504,512,512,512,512,504,512,512,512, /*976-991*/ \
 562,512,504,512,511,512,512,512,512,504,512,512,512,504,512,512, /*992-1007*/ \
 512,561,512,512,536,512,512,512,512,512,544,559,561,561,563,544 /*1008-1023*/ \

#define MPFR_MUL_THRESHOLD 17 /* limbs */
#define MPFR_SQR_THRESHOLD 16 /* limbs */
#define MPFR_DIV_THRESHOLD 3 /* limbs */
#define MPFR_EXP_2_THRESHOLD 585 /* bits */
#define MPFR_EXP_THRESHOLD 11179 /* bits */
#define MPFR_SINCOS_THRESHOLD 30593 /* bits */
#define MPFR_AI_THRESHOLD1 -11898 /* threshold for negative input of mpfr_ai */
#define MPFR_AI_THRESHOLD2 1175
#define MPFR_AI_THRESHOLD3 18856
/* Tuneup completed successfully, took 705 seconds */