OSDN Git Service

76d52cd8b98784b5eeed2b5c65e439a76f0a93bf
[pf3gnuchains/gcc-fork.git] / libgcc / config / libbid / bid_functions.h
1 /* Copyright (C) 2007  Free Software Foundation, Inc.
2
3 This file is part of GCC.
4
5 GCC is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free
7 Software Foundation; either version 2, or (at your option) any later
8 version.
9
10 In addition to the permissions in the GNU General Public License, the
11 Free Software Foundation gives you unlimited permission to link the
12 compiled version of this file into combinations with other programs,
13 and to distribute those combinations without any restriction coming
14 from the use of this file.  (The General Public License restrictions
15 do apply in other respects; for example, they cover modification of
16 the file, and distribution when not linked into a combine
17 executable.)
18
19 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
20 WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with GCC; see the file COPYING.  If not, write to the Free
26 Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
27 02110-1301, USA.  */
28
29 #ifndef _BID_FUNCTIONS_H
30 #define _BID_FUNCTIONS_H
31
32 #if defined _MSC_VER
33 #if defined _M_IX86 && !defined __INTEL_COMPILER    // Win IA-32, MS compiler
34 #define ALIGN(n)
35 #else
36 #define ALIGN(n) __declspec(align(n))
37 #endif
38 #else
39 #define ALIGN(n) __attribute__ ((aligned(n)))
40 #endif
41
42
43 #if !defined _MSC_VER || defined __INTEL_COMPILER
44 #define __ENABLE_BINARY80__  1
45 #endif
46
47 #define _i_quad_t_ UINT128
48
49 typedef ALIGN (16)
50 struct {
51   UINT64 w[2];
52 } UINT128;
53 typedef ALIGN (16)
54 struct {
55   UINT64 w[3];
56 } UINT192;
57 typedef ALIGN (16)
58 struct {
59   UINT64 w[4];
60 } UINT256;
61 typedef unsigned int FPSC;      // floating-point status and control
62
63 // TYPE parameters
64 #define BID128_MAXDIGITS        34
65 #define BID64_MAXDIGITS         16
66 #define BID32_MAXDIGITS         7
67
68 // rounding modes
69 #define ROUNDING_TO_NEAREST     0x00000
70 #define ROUNDING_DOWN           0x00001
71 #define ROUNDING_UP             0x00002
72 #define ROUNDING_TO_ZERO        0x00003
73 #define ROUNDING_TIES_AWAY      0x00004
74
75 // status
76 #define FLAG_MASK               0x0000003f
77 #define EXACT_STATUS            0x00000000
78 #define INEXACT_EXCEPTION       0x00000020
79 #define UNDERFLOW_EXCEPTION     0x00000010
80 #define OVERFLOW_EXCEPTION      0x00000008
81 #define ZERO_DIVIDE_EXCEPTION   0x00000004
82 #define DENORMAL_EXCEPTION      0x00000002
83 #define INVALID_EXCEPTION       0x00000001
84
85 #define MODE_MASK               0x00001f80
86 #define INEXACT_MODE            0x00001000
87 #define UNDERFLOW_MODE          0x00000800
88 #define OVERFLOW_MODE           0x00000400
89 #define ZERO_DIVIDE_MODE        0x00000200
90 #define DENORMAL_MODE           0x00000100
91 #define INVALID_MODE            0x00000080
92
93 #if defined IN_LIBGCC2 || defined LINUX || defined SUNOS
94 #define LX16  "%016llx"
95 #define LX    "%llx"
96 #define LD4   "%4llu"
97 #define LD16  "%016lld"
98 #define LD    "%lld"
99 #define LUD   "%llu"
100 #define LUD16 "%016llu"
101 #define X8    "%08x"
102 #define X4    "%04x"
103
104 #define FMT_LLX16  "%016llx"
105 #define FMT_LLX    "%llx"
106 #define FMT_LLU4   "%4llu"
107 #define FMT_LLD16  "%016lld"
108 #define FMT_LLD    "%lld"
109 #define FMT_LLU    "%llu"
110 #define FMT_LLU16  "%016llu"
111 #define FMT_X8     "%08x"
112 #define FMT_X4     "%04x"
113 #else
114 #define LX16  "%016I64x"
115 #define LX    "%I64x"
116 #define LD16  "%016I64d"
117 #define LD4   "%4I64u"
118 #define LD    "%I64d"
119 #define LUD    "%I64u"
120 #define LUD16 "%016I64u"
121 #define X8    "%08x"
122 #define X4    "%04x"
123
124 #define FMT_LLX16 "%016I64x"
125 #define FMT_LLX   "%I64x"
126 #define FMT_LLD16 "%016I64d"
127 #define FMT_LLU4  "%4I64u"
128 #define FMT_LLD   "%I64d"
129 #define FMT_LLU   "%I64u"
130 #define FMT_LLU16 "%016I64u"
131 #define FMT_X8    "%08x"
132 #define FMT_X4    "%04x"
133 #endif
134
135 #define decNumberIsSNaN(dn)      (((dn)->bits&(DECSNAN))!=0)
136      int __signbitf (float);
137      int __signbit (double);
138
139 #define __IMFC99MACRO_( __x__, __func__ ) \
140         (( sizeof( __x__ ) > sizeof( float )) \
141          ? __func__( (double)(__x__) ) \
142                 : __func__##f( (float)(__x__) ))
143
144 #define signbit( __x__ )    __IMFC99MACRO_( __x__, __signbit )
145
146 #if !defined(__INTEL_COMPILER)
147
148 #define __fence
149
150 #define isinf( __x__ )      __IMFC99MACRO_( __x__, __isinf )
151 #define isnan( __x__ )      __IMFC99MACRO_( __x__, __isnan )
152
153      int __isnanf (float);
154      int __isnan (double);
155
156      int __isinff (float);
157      int __isinf (double);
158
159 #endif
160
161 /* Used by intrinsics.  */
162 union decimal32
163 {
164   _Decimal32 d;
165   UINT32 i;
166 };
167
168 union decimal64
169 {
170   _Decimal64 d;
171   UINT64 i;
172 };
173
174 union decimal128
175 {
176   _Decimal128 d;
177   UINT128 i;
178 };
179
180 #if BID_HAS_TF_MODE
181 union float128
182 {
183   TFtype f;
184   UINT128 i;
185 };
186 #endif
187
188 /* rounding modes */
189 // typedef unsigned int _IDEC_round;
190      extern _IDEC_round _IDEC_gblround; // initialized to ROUNDING_TO_NEAREST
191
192 /* exception flags */
193 // typedef unsigned int _IDEC_flags;  // could be a struct with diagnostic info
194      extern _IDEC_flags _IDEC_gblflags; // initialized to EXACT_STATUS
195
196 /* exception masks */
197      typedef unsigned int _IDEC_exceptionmasks;
198      extern _IDEC_exceptionmasks _IDEC_gblexceptionmasks;       // initialized to MODE_MASK
199
200 #if DECIMAL_ALTERNATE_EXCEPTION_HANDLING
201
202 /* exception information */
203
204      typedef struct {
205        unsigned int inexact_result:1;
206        unsigned int underflow:1;
207        unsigned int overflow:1;
208        unsigned int zero_divide:1;
209        unsigned int invalid_operation:1;
210      } fpieee_exception_flags_t;
211
212      typedef enum {
213        _fp_round_nearest,
214        _fp_round_minus_infinity,
215        _fp_round_plus_infinity,
216        _fp_round_chopped,
217        _fp_round_away
218      } fpieee_rounding_mode_t;
219
220      typedef enum {
221        _fp_precision24,
222        _fp_precision63,
223        _fp_precision64,
224        _fp_precision7,
225        _fp_precision16,
226        _fp_precision34
227      } _fpieee_precision_t;
228
229      typedef enum {
230        _fp_code_unspecified,
231        _fp_code_add,
232        _fp_code_subtract,
233        _fp_code_multiply,
234        _fp_code_divide,
235        _fp_code_square_root,
236        _fp_code_compare,
237        _fp_code_convert,
238        _fp_code_convert_to_integer_neareven,
239        _fp_code_convert_to_integer_down,
240        _fp_code_convert_to_integer_up,
241        _fp_code_convert_to_integer_truncate,
242        _fp_code_convert_to_integer_nearaway,
243        _fp_code_fma,
244        _fp_code_fmin,
245        _fp_code_fmax,
246        _fp_code_famin,
247        _fp_code_famax,
248        _fp_code_round_to_integral,
249        _fp_code_minnum,
250        _fp_code_maxnum,
251        _fp_code_minnummag,
252        _fp_code_maxnummag,
253        _fp_code_quantize,
254        _fp_code_logb,
255        _fp_code_scaleb,
256        _fp_code_remainder,
257        _fp_code_nextup,
258        _fp_code_nextdown,
259        _fp_code_nextafter,
260      } fp_operation_code_t;
261
262      typedef enum {
263        _fp_compare_equal,
264        _fp_compare_greater,
265        _fp_compare_less,
266        _fp_compare_unordered
267      } fpieee_compare_result_t;
268
269      typedef enum {
270        _fp_format_fp32,
271        _fp_format_fp64,
272        _fp_format_fp80,
273        _fp_format_fp128,
274        _fp_format_dec_fp32,
275        _fp_format_dec_fp64,
276        _fp_format_dec_fp128,
277        _fp_format_i8,           /* 8-bit integer */
278        _fp_format_i16,          /* 16-bit integer */
279        _fp_format_i32,          /* 32-bit integer */
280        _fp_format_i64,          /* 64-bit integer */
281        _fp_format_u8,           /* 8-bit unsigned integer */
282        _fp_format_u16,          /* 16-bit unsigned integer */
283        _fp_format_u32,          /* 32-bit unsigned integer */
284        _fp_format_u64,          /* 64-bit unsigned integer */
285        _fp_format_compare,      /* compare value format */
286        _fp_format_decimal_char, /* decimal character */
287        _fp_format_string        /* string */
288      } fpieee_format_t;
289
290      typedef struct {
291        unsigned short W[5];
292      } _float80_t;
293
294      typedef struct {
295        unsigned int W[4];
296      } _float128_t;
297
298      typedef struct {
299        union {
300          float fp32_value;
301          double fp64_value;
302          _float80_t fp80_value;
303          _float128_t fp128_value;
304          UINT32 decfp32_value;
305          UINT64 decfp64_value;
306          UINT128 decfp128_value;
307          char i8_value;
308          short i16_value;
309          int i32_value;
310          SINT64 i64_value;
311          unsigned char u8_value;
312          unsigned short u16_value;
313          unsigned int u32_value;
314          unsigned long u64_value;
315          fpieee_compare_result_t compare_value;
316          unsigned char s[256];
317        } value;
318        unsigned int operand_valid:1;
319        fpieee_format_t format:5;
320      } fpieee_value_t;
321
322      typedef struct {
323        unsigned int rounding_mode:3;
324        unsigned int precision:3;
325        unsigned int operation:26;
326        fpieee_exception_flags_t cause;
327        fpieee_exception_flags_t enable;
328        fpieee_exception_flags_t status;
329        fpieee_value_t operand1;
330        fpieee_value_t operand2;
331        fpieee_value_t operand3;
332        fpieee_value_t result;
333      } _IDEC_excepthandling;
334      extern _IDEC_excepthandling _IDEC_glbexcepthandling;
335
336 #endif
337
338 #if DECIMAL_CALL_BY_REFERENCE
339
340      extern void __bid128dd_add (UINT128 *pres, UINT64 *px,
341                              UINT64 *py
342                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
343                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
344      extern void __bid128dq_add (UINT128 *pres, UINT64 *px,
345                              UINT128 *py
346                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
347                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
348      extern void __bid128qd_add (UINT128 *pres, UINT128 *px,
349                              UINT64 *py
350                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
351                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
352      extern void __bid128_add (UINT128 * pres, UINT128 * px,
353                              UINT128 *
354                              py _RND_MODE_PARAM _EXC_FLAGS_PARAM
355                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
356      extern void __bid128dd_sub (UINT128 *pres, UINT64 *px,
357                              UINT64 *py
358                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
359                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
360      extern void __bid128dq_sub (UINT128 *pres, UINT64 *px,
361                              UINT128 *py
362                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
363                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
364      extern void __bid128qd_sub (UINT128 *pres, UINT128 *px,
365                              UINT64 *py
366                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
367                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
368      extern void __bid128_sub (UINT128 * pres, UINT128 * px,
369                              UINT128 *
370                              py _RND_MODE_PARAM _EXC_FLAGS_PARAM
371                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
372      extern void __bid128dd_mul (UINT128 *pres, UINT64 *px,
373                              UINT64 *py
374                              _RND_MODE_PARAM _EXC_FLAGS_PARAM 
375                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
376      extern void __bid128dq_mul (UINT128 *pres, UINT64 *px,
377                              UINT128 *py
378                              _RND_MODE_PARAM _EXC_FLAGS_PARAM 
379                              _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
380      extern void __bid128qd_mul (UINT128 *pres, UINT128 *px,
381                              UINT64 *py
382                              _RND_MODE_PARAM _EXC_FLAGS_PARAM 
383                              _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
384      extern void __bid128_mul (UINT128 *pres, UINT128 *px,
385                              UINT128 *py
386                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
387                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
388      extern void __bid128_div (UINT128 * pres, UINT128 * px,
389                              UINT128 *
390                              py _RND_MODE_PARAM _EXC_FLAGS_PARAM
391                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
392      extern void __bid128dd_div (UINT128 *pres, UINT64 *px,
393                              UINT64 *py
394                              _RND_MODE_PARAM _EXC_FLAGS_PARAM 
395                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
396      extern void __bid128dq_div (UINT128 *pres, UINT64 *px,
397                              UINT128 *py
398                              _RND_MODE_PARAM _EXC_FLAGS_PARAM 
399                              _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
400      extern void __bid128qd_div (UINT128 *pres, UINT128 *px,
401                              UINT64 *py
402                              _RND_MODE_PARAM _EXC_FLAGS_PARAM 
403                              _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
404      extern void __bid128_fma (UINT128 *pres, UINT128 *px,
405                              UINT128 *py, UINT128 *pz 
406                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
407                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
408      extern void __bid128ddd_fma (UINT128 *pres, UINT64 *px,
409                              UINT64 *py, UINT64 *pz 
410                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
411                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
412      extern void __bid128ddq_fma (UINT128 *pres, UINT64 *px,
413                              UINT64 *py, UINT128 *pz 
414                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
415                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
416      extern void __bid128dqd_fma (UINT128 *pres, UINT64 *px,
417                              UINT128 *py, UINT64 *pz 
418                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
419                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
420      extern void __bid128dqq_fma (UINT128 *pres, UINT64 *px,
421                              UINT128 *py, UINT128 *pz 
422                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
423                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
424      extern void __bid128qdd_fma (UINT128 *pres, UINT128 *px,
425                              UINT64 *py, UINT64 *pz 
426                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
427                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
428      extern void __bid128qdq_fma (UINT128 *pres, UINT128 *px,
429                              UINT64 *py, UINT128 *pz 
430                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
431                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
432      extern void __bid128qqd_fma (UINT128 *pres, UINT128 *px,
433                              UINT128 *py, UINT64 *pz 
434                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
435                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
436      // Note: __bid128qqq_fma is represented by bid128_fma
437      // Note: __bid64ddd_fma is represented by bid64_fma
438      extern void __bid64ddq_fma (UINT64 *pres, UINT64 *px,
439                              UINT64 *py, UINT128 *pz
440                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
441                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
442      extern void __bid64dqd_fma (UINT64 *pres, UINT64 *px,
443                              UINT128 *py, UINT64 *pz
444                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
445                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
446      extern void __bid64dqq_fma (UINT64 *pres, UINT64 *px,
447                              UINT128 *py, UINT128 *pz
448                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
449                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
450      extern void __bid64qdd_fma (UINT64 *pres, UINT128 *px,
451                              UINT64 *py, UINT64 *pz
452                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
453                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
454      extern void __bid64qdq_fma (UINT64 *pres, UINT128 *px,
455                              UINT64 *py, UINT128 *pz
456                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
457                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
458      extern void __bid64qqd_fma (UINT64 *pres, UINT128 *px,
459                              UINT128 *py, UINT64 *pz
460                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
461                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
462      extern void __bid64qqq_fma (UINT64 *pres, UINT128 *px,
463                              UINT128 *py, UINT128 *pz
464                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
465                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
466
467      extern void __bid128_sqrt (UINT128 * pres,
468                               UINT128 *
469                               px _RND_MODE_PARAM _EXC_FLAGS_PARAM
470                               _EXC_MASKS_PARAM _EXC_INFO_PARAM);
471      extern void __bid128d_sqrt (UINT128 *pres, UINT64 *px
472                              _RND_MODE_PARAM _EXC_FLAGS_PARAM 
473                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
474
475      extern void __bid64_add (UINT64 * pres, UINT64 * px,
476                             UINT64 *
477                             py _RND_MODE_PARAM _EXC_FLAGS_PARAM
478                             _EXC_MASKS_PARAM _EXC_INFO_PARAM);
479      extern void __bid64dq_add (UINT64 *pres, UINT64 *px,
480                              UINT128 *py
481                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
482                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
483      extern void __bid64qd_add (UINT64 *pres, UINT128 *px,
484                              UINT64 *py
485                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
486                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
487      extern void __bid64qq_add (UINT64 *pres, UINT128 *px,
488                              UINT128 *py
489                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
490                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
491      extern void __bid64_sub (UINT64 * pres, UINT64 * px,
492                             UINT64 *
493                             py _RND_MODE_PARAM _EXC_FLAGS_PARAM
494                             _EXC_MASKS_PARAM _EXC_INFO_PARAM);
495      extern void __bid64dq_sub (UINT64 *pres, UINT64 *px,
496                              UINT128 *py
497                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
498                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
499      extern void __bid64qd_sub (UINT64 *pres, UINT128 *px,
500                              UINT64 *py
501                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
502                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
503      extern void __bid64qq_sub (UINT64 *pres, UINT128 *px,
504                              UINT128 *py
505                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
506                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
507      extern void __bid64_mul (UINT64 * pres, UINT64 * px,
508                             UINT64 * py 
509                             _RND_MODE_PARAM _EXC_FLAGS_PARAM
510                             _EXC_MASKS_PARAM _EXC_INFO_PARAM);
511      extern void __bid64dq_mul (UINT64 *pres, UINT64 *px,
512                              UINT128 *py 
513                              _RND_MODE_PARAM _EXC_FLAGS_PARAM 
514                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
515      extern void __bid64qd_mul (UINT64 *pres, UINT128 *px,
516                              UINT64 *py 
517                              _RND_MODE_PARAM _EXC_FLAGS_PARAM 
518                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
519      extern void __bid64qq_mul (UINT64 *pres, UINT128 *px,
520                              UINT128 *py 
521                              _RND_MODE_PARAM _EXC_FLAGS_PARAM 
522                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
523      extern void __bid64_div (UINT64 * pres, UINT64 * px,
524                             UINT64 *
525                             py _RND_MODE_PARAM _EXC_FLAGS_PARAM
526                             _EXC_MASKS_PARAM _EXC_INFO_PARAM);
527       extern void __bid64dq_div (UINT64 *pres, UINT64 *px,
528                              UINT128 *py 
529                              _RND_MODE_PARAM _EXC_FLAGS_PARAM 
530                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
531      extern void __bid64qd_div (UINT64 *pres, UINT128 *px,
532                              UINT64 *py 
533                              _RND_MODE_PARAM _EXC_FLAGS_PARAM 
534                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
535      extern void __bid64qq_div (UINT64 *pres, UINT128 *px,
536                              UINT128 *py 
537                              _RND_MODE_PARAM _EXC_FLAGS_PARAM 
538                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
539     extern void __bid64_fma (UINT64 * pres, UINT64 * px,
540                             UINT64 * py,
541                             UINT64 *
542                             pz _RND_MODE_PARAM _EXC_FLAGS_PARAM
543                             _EXC_MASKS_PARAM _EXC_INFO_PARAM);
544      extern void __bid64_sqrt (UINT64 * pres,
545                              UINT64 *
546                              px _RND_MODE_PARAM _EXC_FLAGS_PARAM
547                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
548      extern void __bid64q_sqrt (UINT64 *pres, UINT128 *px
549                              _RND_MODE_PARAM _EXC_FLAGS_PARAM 
550                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
551
552      extern void __bid128_to_int32_rnint (int *pres,
553                                         UINT128 *
554                                         px _EXC_FLAGS_PARAM
555                                         _EXC_MASKS_PARAM
556                                         _EXC_INFO_PARAM);
557      extern void __bid128_to_int32_xrnint (int *pres,
558                                          UINT128 *
559                                          px _EXC_FLAGS_PARAM
560                                          _EXC_MASKS_PARAM
561                                          _EXC_INFO_PARAM);
562      extern void __bid128_to_int32_rninta (int *pres,
563                                          UINT128 *
564                                          px _EXC_FLAGS_PARAM
565                                          _EXC_MASKS_PARAM
566                                          _EXC_INFO_PARAM);
567      extern void __bid128_to_int32_xrninta (int *pres,
568                                           UINT128 *
569                                           px _EXC_FLAGS_PARAM
570                                           _EXC_MASKS_PARAM
571                                           _EXC_INFO_PARAM);
572      extern void __bid128_to_int32_int (int *pres,
573                                       UINT128 *
574                                       px _EXC_FLAGS_PARAM
575                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
576      extern void __bid128_to_int32_xint (int *pres,
577                                        UINT128 *
578                                        px _EXC_FLAGS_PARAM
579                                        _EXC_MASKS_PARAM
580                                        _EXC_INFO_PARAM);
581      extern void __bid128_to_int32_floor (int *pres,
582                                         UINT128 *
583                                         px _EXC_FLAGS_PARAM
584                                         _EXC_MASKS_PARAM
585                                         _EXC_INFO_PARAM);
586      extern void __bid128_to_int32_xfloor (int *pres,
587                                          UINT128 *
588                                          px _EXC_FLAGS_PARAM
589                                          _EXC_MASKS_PARAM
590                                          _EXC_INFO_PARAM);
591      extern void __bid128_to_int32_ceil (int *pres,
592                                        UINT128 *
593                                        px _EXC_FLAGS_PARAM
594                                        _EXC_MASKS_PARAM
595                                        _EXC_INFO_PARAM);
596      extern void __bid128_to_int32_xceil (int *pres,
597                                         UINT128 *
598                                         px _EXC_FLAGS_PARAM
599                                         _EXC_MASKS_PARAM
600                                         _EXC_INFO_PARAM);
601      extern void __bid128_to_uint32_rnint (unsigned int *pres,
602                                          UINT128 *
603                                          px _EXC_FLAGS_PARAM
604                                          _EXC_MASKS_PARAM
605                                          _EXC_INFO_PARAM);
606      extern void __bid128_to_uint32_xrnint (unsigned int *pres,
607                                           UINT128 *
608                                           px _EXC_FLAGS_PARAM
609                                           _EXC_MASKS_PARAM
610                                           _EXC_INFO_PARAM);
611      extern void __bid128_to_uint32_rninta (unsigned int *pres,
612                                           UINT128 *
613                                           px _EXC_FLAGS_PARAM
614                                           _EXC_MASKS_PARAM
615                                           _EXC_INFO_PARAM);
616      extern void __bid128_to_uint32_xrninta (unsigned int *pres,
617                                            UINT128 *
618                                            px _EXC_FLAGS_PARAM
619                                            _EXC_MASKS_PARAM
620                                            _EXC_INFO_PARAM);
621      extern void __bid128_to_uint32_int (unsigned int *pres,
622                                        UINT128 *
623                                        px _EXC_FLAGS_PARAM
624                                        _EXC_MASKS_PARAM
625                                        _EXC_INFO_PARAM);
626      extern void __bid128_to_uint32_xint (unsigned int *pres,
627                                         UINT128 *
628                                         px _EXC_FLAGS_PARAM
629                                         _EXC_MASKS_PARAM
630                                         _EXC_INFO_PARAM);
631      extern void __bid128_to_uint32_floor (unsigned int *pres,
632                                          UINT128 *
633                                          px _EXC_FLAGS_PARAM
634                                          _EXC_MASKS_PARAM
635                                          _EXC_INFO_PARAM);
636      extern void __bid128_to_uint32_xfloor (unsigned int *pres,
637                                           UINT128 *
638                                           px _EXC_FLAGS_PARAM
639                                           _EXC_MASKS_PARAM
640                                           _EXC_INFO_PARAM);
641      extern void __bid128_to_uint32_ceil (unsigned int *pres,
642                                         UINT128 *
643                                         px _EXC_FLAGS_PARAM
644                                         _EXC_MASKS_PARAM
645                                         _EXC_INFO_PARAM);
646      extern void __bid128_to_uint32_xceil (unsigned int *pres,
647                                          UINT128 *
648                                          px _EXC_FLAGS_PARAM
649                                          _EXC_MASKS_PARAM
650                                          _EXC_INFO_PARAM);
651      extern void __bid128_to_int64_rnint (SINT64 * pres,
652                                         UINT128 *
653                                         px _EXC_FLAGS_PARAM
654                                         _EXC_MASKS_PARAM
655                                         _EXC_INFO_PARAM);
656      extern void __bid128_to_int64_xrnint (SINT64 * pres,
657                                          UINT128 *
658                                          px _EXC_FLAGS_PARAM
659                                          _EXC_MASKS_PARAM
660                                          _EXC_INFO_PARAM);
661      extern void __bid128_to_int64_rninta (SINT64 * pres,
662                                          UINT128 *
663                                          px _EXC_FLAGS_PARAM
664                                          _EXC_MASKS_PARAM
665                                          _EXC_INFO_PARAM);
666      extern void __bid128_to_int64_xrninta (SINT64 * pres,
667                                           UINT128 *
668                                           px _EXC_FLAGS_PARAM
669                                           _EXC_MASKS_PARAM
670                                           _EXC_INFO_PARAM);
671      extern void __bid128_to_int64_int (SINT64 * pres,
672                                       UINT128 *
673                                       px _EXC_FLAGS_PARAM
674                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
675      extern void __bid128_to_int64_xint (SINT64 * pres,
676                                        UINT128 *
677                                        px _EXC_FLAGS_PARAM
678                                        _EXC_MASKS_PARAM
679                                        _EXC_INFO_PARAM);
680      extern void __bid128_to_int64_floor (SINT64 * pres,
681                                         UINT128 *
682                                         px _EXC_FLAGS_PARAM
683                                         _EXC_MASKS_PARAM
684                                         _EXC_INFO_PARAM);
685      extern void __bid128_to_int64_xfloor (SINT64 * pres,
686                                          UINT128 *
687                                          px _EXC_FLAGS_PARAM
688                                          _EXC_MASKS_PARAM
689                                          _EXC_INFO_PARAM);
690      extern void __bid128_to_int64_ceil (SINT64 * pres,
691                                        UINT128 *
692                                        px _EXC_FLAGS_PARAM
693                                        _EXC_MASKS_PARAM
694                                        _EXC_INFO_PARAM);
695      extern void __bid128_to_int64_xceil (SINT64 * pres,
696                                         UINT128 *
697                                         px _EXC_FLAGS_PARAM
698                                         _EXC_MASKS_PARAM
699                                         _EXC_INFO_PARAM);
700      extern void __bid128_to_uint64_rnint (UINT64 * pres,
701                                          UINT128 *
702                                          px _EXC_FLAGS_PARAM
703                                          _EXC_MASKS_PARAM
704                                          _EXC_INFO_PARAM);
705      extern void __bid128_to_uint64_xrnint (UINT64 * pres,
706                                           UINT128 *
707                                           px _EXC_FLAGS_PARAM
708                                           _EXC_MASKS_PARAM
709                                           _EXC_INFO_PARAM);
710      extern void __bid128_to_uint64_rninta (UINT64 * pres,
711                                           UINT128 *
712                                           px _EXC_FLAGS_PARAM
713                                           _EXC_MASKS_PARAM
714                                           _EXC_INFO_PARAM);
715      extern void __bid128_to_uint64_xrninta (UINT64 * pres,
716                                            UINT128 *
717                                            px _EXC_FLAGS_PARAM
718                                            _EXC_MASKS_PARAM
719                                            _EXC_INFO_PARAM);
720      extern void __bid128_to_uint64_int (UINT64 * pres,
721                                        UINT128 *
722                                        px _EXC_FLAGS_PARAM
723                                        _EXC_MASKS_PARAM
724                                        _EXC_INFO_PARAM);
725      extern void __bid128_to_uint64_xint (UINT64 * pres,
726                                         UINT128 *
727                                         px _EXC_FLAGS_PARAM
728                                         _EXC_MASKS_PARAM
729                                         _EXC_INFO_PARAM);
730      extern void __bid128_to_uint64_floor (UINT64 * pres,
731                                          UINT128 *
732                                          px _EXC_FLAGS_PARAM
733                                          _EXC_MASKS_PARAM
734                                          _EXC_INFO_PARAM);
735      extern void __bid128_to_uint64_xfloor (UINT64 * pres,
736                                           UINT128 *
737                                           px _EXC_FLAGS_PARAM
738                                           _EXC_MASKS_PARAM
739                                           _EXC_INFO_PARAM);
740      extern void __bid128_to_uint64_ceil (UINT64 * pres,
741                                         UINT128 *
742                                         px _EXC_FLAGS_PARAM
743                                         _EXC_MASKS_PARAM
744                                         _EXC_INFO_PARAM);
745      extern void __bid128_to_uint64_xceil (UINT64 * pres,
746                                          UINT128 *
747                                          px _EXC_FLAGS_PARAM
748                                          _EXC_MASKS_PARAM
749                                          _EXC_INFO_PARAM);
750      extern void __bid64_to_int32_rnint (int *pres,
751                                        UINT64 *
752                                        px _EXC_FLAGS_PARAM
753                                        _EXC_MASKS_PARAM
754                                        _EXC_INFO_PARAM);
755      extern void __bid64_to_int32_xrnint (int *pres,
756                                         UINT64 *
757                                         px _EXC_FLAGS_PARAM
758                                         _EXC_MASKS_PARAM
759                                         _EXC_INFO_PARAM);
760      extern void __bid64_to_int32_rninta (int *pres,
761                                         UINT64 *
762                                         px _EXC_FLAGS_PARAM
763                                         _EXC_MASKS_PARAM
764                                         _EXC_INFO_PARAM);
765      extern void __bid64_to_int32_xrninta (int *pres,
766                                          UINT64 *
767                                          px _EXC_FLAGS_PARAM
768                                          _EXC_MASKS_PARAM
769                                          _EXC_INFO_PARAM);
770      extern void __bid64_to_int32_int (int *pres,
771                                      UINT64 *
772                                      px _EXC_FLAGS_PARAM
773                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
774      extern void __bid64_to_int32_xint (int *pres,
775                                       UINT64 *
776                                       px _EXC_FLAGS_PARAM
777                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
778      extern void __bid64_to_int32_floor (int *pres,
779                                        UINT64 *
780                                        px _EXC_FLAGS_PARAM
781                                        _EXC_MASKS_PARAM
782                                        _EXC_INFO_PARAM);
783      extern void __bid64_to_int32_xfloor (int *pres,
784                                         UINT64 *
785                                         px _EXC_FLAGS_PARAM
786                                         _EXC_MASKS_PARAM
787                                         _EXC_INFO_PARAM);
788      extern void __bid64_to_int32_ceil (int *pres,
789                                       UINT64 *
790                                       px _EXC_FLAGS_PARAM
791                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
792      extern void __bid64_to_int32_xceil (int *pres,
793                                        UINT64 *
794                                        px _EXC_FLAGS_PARAM
795                                        _EXC_MASKS_PARAM
796                                        _EXC_INFO_PARAM);
797      extern void __bid64_to_uint32_rnint (unsigned int *pres,
798                                         UINT64 *
799                                         px _EXC_FLAGS_PARAM
800                                         _EXC_MASKS_PARAM
801                                         _EXC_INFO_PARAM);
802      extern void __bid64_to_uint32_xrnint (unsigned int *pres,
803                                          UINT64 *
804                                          px _EXC_FLAGS_PARAM
805                                          _EXC_MASKS_PARAM
806                                          _EXC_INFO_PARAM);
807      extern void __bid64_to_uint32_rninta (unsigned int *pres,
808                                          UINT64 *
809                                          px _EXC_FLAGS_PARAM
810                                          _EXC_MASKS_PARAM
811                                          _EXC_INFO_PARAM);
812      extern void __bid64_to_uint32_xrninta (unsigned int *pres,
813                                           UINT64 *
814                                           px _EXC_FLAGS_PARAM
815                                           _EXC_MASKS_PARAM
816                                           _EXC_INFO_PARAM);
817      extern void __bid64_to_uint32_int (unsigned int *pres,
818                                       UINT64 *
819                                       px _EXC_FLAGS_PARAM
820                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
821      extern void __bid64_to_uint32_xint (unsigned int *pres,
822                                        UINT64 *
823                                        px _EXC_FLAGS_PARAM
824                                        _EXC_MASKS_PARAM
825                                        _EXC_INFO_PARAM);
826      extern void __bid64_to_uint32_floor (unsigned int *pres,
827                                         UINT64 *
828                                         px _EXC_FLAGS_PARAM
829                                         _EXC_MASKS_PARAM
830                                         _EXC_INFO_PARAM);
831      extern void __bid64_to_uint32_xfloor (unsigned int *pres,
832                                          UINT64 *
833                                          px _EXC_FLAGS_PARAM
834                                          _EXC_MASKS_PARAM
835                                          _EXC_INFO_PARAM);
836      extern void __bid64_to_uint32_ceil (unsigned int *pres,
837                                        UINT64 *
838                                        px _EXC_FLAGS_PARAM
839                                        _EXC_MASKS_PARAM
840                                        _EXC_INFO_PARAM);
841      extern void __bid64_to_uint32_xceil (unsigned int *pres,
842                                         UINT64 *
843                                         px _EXC_FLAGS_PARAM
844                                         _EXC_MASKS_PARAM
845                                         _EXC_INFO_PARAM);
846      extern void __bid64_to_int64_rnint (SINT64 * pres,
847                                        UINT64 *
848                                        px _EXC_FLAGS_PARAM
849                                        _EXC_MASKS_PARAM
850                                        _EXC_INFO_PARAM);
851      extern void __bid64_to_int64_xrnint (SINT64 * pres,
852                                         UINT64 *
853                                         px _EXC_FLAGS_PARAM
854                                         _EXC_MASKS_PARAM
855                                         _EXC_INFO_PARAM);
856      extern void __bid64_to_int64_rninta (SINT64 * pres,
857                                         UINT64 *
858                                         px _EXC_FLAGS_PARAM
859                                         _EXC_MASKS_PARAM
860                                         _EXC_INFO_PARAM);
861      extern void __bid64_to_int64_xrninta (SINT64 * pres,
862                                          UINT64 *
863                                          px _EXC_FLAGS_PARAM
864                                          _EXC_MASKS_PARAM
865                                          _EXC_INFO_PARAM);
866      extern void __bid64_to_int64_int (SINT64 * pres,
867                                      UINT64 *
868                                      px _EXC_FLAGS_PARAM
869                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
870      extern void __bid64_to_int64_xint (SINT64 * pres,
871                                       UINT64 *
872                                       px _EXC_FLAGS_PARAM
873                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
874      extern void __bid64_to_int64_floor (SINT64 * pres,
875                                        UINT64 *
876                                        px _EXC_FLAGS_PARAM
877                                        _EXC_MASKS_PARAM
878                                        _EXC_INFO_PARAM);
879      extern void __bid64_to_int64_xfloor (SINT64 * pres,
880                                         UINT64 *
881                                         px _EXC_FLAGS_PARAM
882                                         _EXC_MASKS_PARAM
883                                         _EXC_INFO_PARAM);
884      extern void __bid64_to_int64_ceil (SINT64 * pres,
885                                       UINT64 *
886                                       px _EXC_FLAGS_PARAM
887                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
888      extern void __bid64_to_int64_xceil (SINT64 * pres,
889                                        UINT64 *
890                                        px _EXC_FLAGS_PARAM
891                                        _EXC_MASKS_PARAM
892                                        _EXC_INFO_PARAM);
893      extern void __bid64_to_uint64_rnint (UINT64 * pres,
894                                         UINT64 *
895                                         px _EXC_FLAGS_PARAM
896                                         _EXC_MASKS_PARAM
897                                         _EXC_INFO_PARAM);
898      extern void __bid64_to_uint64_xrnint (UINT64 * pres,
899                                          UINT64 *
900                                          px _EXC_FLAGS_PARAM
901                                          _EXC_MASKS_PARAM
902                                          _EXC_INFO_PARAM);
903      extern void __bid64_to_uint64_rninta (UINT64 * pres,
904                                          UINT64 *
905                                          px _EXC_FLAGS_PARAM
906                                          _EXC_MASKS_PARAM
907                                          _EXC_INFO_PARAM);
908      extern void __bid64_to_uint64_xrninta (UINT64 * pres,
909                                           UINT64 *
910                                           px _EXC_FLAGS_PARAM
911                                           _EXC_MASKS_PARAM
912                                           _EXC_INFO_PARAM);
913      extern void __bid64_to_uint64_int (UINT64 * pres,
914                                       UINT64 *
915                                       px _EXC_FLAGS_PARAM
916                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
917      extern void __bid64_to_uint64_xint (UINT64 * pres,
918                                        UINT64 *
919                                        px _EXC_FLAGS_PARAM
920                                        _EXC_MASKS_PARAM
921                                        _EXC_INFO_PARAM);
922      extern void __bid64_to_uint64_floor (UINT64 * pres,
923                                         UINT64 *
924                                         px _EXC_FLAGS_PARAM
925                                         _EXC_MASKS_PARAM
926                                         _EXC_INFO_PARAM);
927      extern void __bid64_to_uint64_xfloor (UINT64 * pres,
928                                          UINT64 *
929                                          px _EXC_FLAGS_PARAM
930                                          _EXC_MASKS_PARAM
931                                          _EXC_INFO_PARAM);
932      extern void __bid64_to_uint64_ceil (UINT64 * pres,
933                                        UINT64 *
934                                        px _EXC_FLAGS_PARAM
935                                        _EXC_MASKS_PARAM
936                                        _EXC_INFO_PARAM);
937      extern void __bid64_to_uint64_xceil (UINT64 * pres,
938                                         UINT64 *
939                                         px _EXC_FLAGS_PARAM
940                                         _EXC_MASKS_PARAM
941                                         _EXC_INFO_PARAM);
942
943      extern void __bid64_quiet_equal (int *pres, UINT64 * px, UINT64 * py
944                                     _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
945                                     _EXC_INFO_PARAM);
946      extern void __bid64_quiet_greater (int *pres, UINT64 * px,
947                                       UINT64 *
948                                       py _EXC_FLAGS_PARAM
949                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
950      extern void __bid64_quiet_greater_equal (int *pres, UINT64 * px,
951                                             UINT64 *
952                                             py _EXC_FLAGS_PARAM
953                                             _EXC_MASKS_PARAM
954                                             _EXC_INFO_PARAM);
955      extern void __bid64_quiet_greater_unordered (int *pres, UINT64 * px,
956                                                 UINT64 *
957                                                 py _EXC_FLAGS_PARAM
958                                                 _EXC_MASKS_PARAM
959                                                 _EXC_INFO_PARAM);
960      extern void __bid64_quiet_less (int *pres, UINT64 * px,
961                                    UINT64 *
962                                    py _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
963                                    _EXC_INFO_PARAM);
964      extern void __bid64_quiet_less_equal (int *pres, UINT64 * px,
965                                          UINT64 *
966                                          py _EXC_FLAGS_PARAM
967                                          _EXC_MASKS_PARAM
968                                          _EXC_INFO_PARAM);
969      extern void __bid64_quiet_less_unordered (int *pres, UINT64 * px,
970                                              UINT64 *
971                                              py _EXC_FLAGS_PARAM
972                                              _EXC_MASKS_PARAM
973                                              _EXC_INFO_PARAM);
974      extern void __bid64_quiet_not_equal (int *pres, UINT64 * px,
975                                         UINT64 *
976                                         py _EXC_FLAGS_PARAM
977                                         _EXC_MASKS_PARAM
978                                         _EXC_INFO_PARAM);
979      extern void __bid64_quiet_not_greater (int *pres, UINT64 * px,
980                                           UINT64 *
981                                           py _EXC_FLAGS_PARAM
982                                           _EXC_MASKS_PARAM
983                                           _EXC_INFO_PARAM);
984      extern void __bid64_quiet_not_less (int *pres, UINT64 * px,
985                                        UINT64 *
986                                        py _EXC_FLAGS_PARAM
987                                        _EXC_MASKS_PARAM
988                                        _EXC_INFO_PARAM);
989      extern void __bid64_quiet_ordered (int *pres, UINT64 * px,
990                                       UINT64 *
991                                       py _EXC_FLAGS_PARAM
992                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
993      extern void __bid64_quiet_unordered (int *pres, UINT64 * px,
994                                         UINT64 *
995                                         py _EXC_FLAGS_PARAM
996                                         _EXC_MASKS_PARAM
997                                         _EXC_INFO_PARAM);
998      extern void __bid64_signaling_equal (int *pres, UINT64 * px,
999                                         UINT64 *
1000                                         py _EXC_FLAGS_PARAM
1001                                         _EXC_MASKS_PARAM
1002                                         _EXC_INFO_PARAM);
1003      extern void __bid64_signaling_greater (int *pres, UINT64 * px,
1004                                           UINT64 *
1005                                           py _EXC_FLAGS_PARAM
1006                                           _EXC_MASKS_PARAM
1007                                           _EXC_INFO_PARAM);
1008      extern void __bid64_signaling_greater_equal (int *pres, UINT64 * px,
1009                                                 UINT64 *
1010                                                 py _EXC_FLAGS_PARAM
1011                                                 _EXC_MASKS_PARAM
1012                                                 _EXC_INFO_PARAM);
1013      extern void __bid64_signaling_greater_unordered (int *pres,
1014                                                     UINT64 * px,
1015                                                     UINT64 *
1016                                                     py _EXC_FLAGS_PARAM
1017                                                     _EXC_MASKS_PARAM
1018                                                     _EXC_INFO_PARAM);
1019      extern void __bid64_signaling_less (int *pres, UINT64 * px,
1020                                        UINT64 *
1021                                        py _EXC_FLAGS_PARAM
1022                                        _EXC_MASKS_PARAM
1023                                        _EXC_INFO_PARAM);
1024      extern void __bid64_signaling_less_equal (int *pres, UINT64 * px,
1025                                              UINT64 *
1026                                              py _EXC_FLAGS_PARAM
1027                                              _EXC_MASKS_PARAM
1028                                              _EXC_INFO_PARAM);
1029      extern void __bid64_signaling_less_unordered (int *pres, UINT64 * px,
1030                                                  UINT64 *
1031                                                  py _EXC_FLAGS_PARAM
1032                                                  _EXC_MASKS_PARAM
1033                                                  _EXC_INFO_PARAM);
1034      extern void __bid64_signaling_not_equal (int *pres, UINT64 * px,
1035                                             UINT64 *
1036                                             py _EXC_FLAGS_PARAM
1037                                             _EXC_MASKS_PARAM
1038                                             _EXC_INFO_PARAM);
1039      extern void __bid64_signaling_not_greater (int *pres, UINT64 * px,
1040                                               UINT64 *
1041                                               py _EXC_FLAGS_PARAM
1042                                               _EXC_MASKS_PARAM
1043                                               _EXC_INFO_PARAM);
1044      extern void __bid64_signaling_not_less (int *pres, UINT64 * px,
1045                                            UINT64 *
1046                                            py _EXC_FLAGS_PARAM
1047                                            _EXC_MASKS_PARAM
1048                                            _EXC_INFO_PARAM);
1049      extern void __bid64_signaling_ordered (int *pres, UINT64 * px,
1050                                           UINT64 *
1051                                           py _EXC_FLAGS_PARAM
1052                                           _EXC_MASKS_PARAM
1053                                           _EXC_INFO_PARAM);
1054      extern void __bid64_signaling_unordered (int *pres, UINT64 * px,
1055                                             UINT64 *
1056                                             py _EXC_FLAGS_PARAM
1057                                             _EXC_MASKS_PARAM
1058                                             _EXC_INFO_PARAM);
1059
1060      extern void __bid128_quiet_equal (int *pres, UINT128 * px,
1061                                      UINT128 *
1062                                      py _EXC_FLAGS_PARAM
1063                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1064      extern void __bid128_quiet_greater (int *pres, UINT128 * px,
1065                                        UINT128 *
1066                                        py _EXC_FLAGS_PARAM
1067                                        _EXC_MASKS_PARAM
1068                                        _EXC_INFO_PARAM);
1069      extern void __bid128_quiet_greater_equal (int *pres, UINT128 * px,
1070                                              UINT128 *
1071                                              py _EXC_FLAGS_PARAM
1072                                              _EXC_MASKS_PARAM
1073                                              _EXC_INFO_PARAM);
1074      extern void __bid128_quiet_greater_unordered (int *pres,
1075                                                  UINT128 * px,
1076                                                  UINT128 *
1077                                                  py _EXC_FLAGS_PARAM
1078                                                  _EXC_MASKS_PARAM
1079                                                  _EXC_INFO_PARAM);
1080      extern void __bid128_quiet_less (int *pres, UINT128 * px,
1081                                     UINT128 *
1082                                     py _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1083                                     _EXC_INFO_PARAM);
1084      extern void __bid128_quiet_less_equal (int *pres, UINT128 * px,
1085                                           UINT128 *
1086                                           py _EXC_FLAGS_PARAM
1087                                           _EXC_MASKS_PARAM
1088                                           _EXC_INFO_PARAM);
1089      extern void __bid128_quiet_less_unordered (int *pres, UINT128 * px,
1090                                               UINT128 *
1091                                               py _EXC_FLAGS_PARAM
1092                                               _EXC_MASKS_PARAM
1093                                               _EXC_INFO_PARAM);
1094      extern void __bid128_quiet_not_equal (int *pres, UINT128 * px,
1095                                          UINT128 *
1096                                          py _EXC_FLAGS_PARAM
1097                                          _EXC_MASKS_PARAM
1098                                          _EXC_INFO_PARAM);
1099      extern void __bid128_quiet_not_greater (int *pres, UINT128 * px,
1100                                            UINT128 *
1101                                            py _EXC_FLAGS_PARAM
1102                                            _EXC_MASKS_PARAM
1103                                            _EXC_INFO_PARAM);
1104      extern void __bid128_quiet_not_less (int *pres, UINT128 * px,
1105                                         UINT128 *
1106                                         py _EXC_FLAGS_PARAM
1107                                         _EXC_MASKS_PARAM
1108                                         _EXC_INFO_PARAM);
1109      extern void __bid128_quiet_ordered (int *pres, UINT128 * px,
1110                                        UINT128 *
1111                                        py _EXC_FLAGS_PARAM
1112                                        _EXC_MASKS_PARAM
1113                                        _EXC_INFO_PARAM);
1114      extern void __bid128_quiet_unordered (int *pres, UINT128 * px,
1115                                          UINT128 *
1116                                          py _EXC_FLAGS_PARAM
1117                                          _EXC_MASKS_PARAM
1118                                          _EXC_INFO_PARAM);
1119      extern void __bid128_signaling_equal (int *pres, UINT128 * px,
1120                                          UINT128 *
1121                                          py _EXC_FLAGS_PARAM
1122                                          _EXC_MASKS_PARAM
1123                                          _EXC_INFO_PARAM);
1124      extern void __bid128_signaling_greater (int *pres, UINT128 * px,
1125                                            UINT128 *
1126                                            py _EXC_FLAGS_PARAM
1127                                            _EXC_MASKS_PARAM
1128                                            _EXC_INFO_PARAM);
1129      extern void __bid128_signaling_greater_equal (int *pres,
1130                                                  UINT128 * px,
1131                                                  UINT128 *
1132                                                  py _EXC_FLAGS_PARAM
1133                                                  _EXC_MASKS_PARAM
1134                                                  _EXC_INFO_PARAM);
1135      extern void __bid128_signaling_greater_unordered (int *pres,
1136                                                      UINT128 * px,
1137                                                      UINT128 *
1138                                                      py _EXC_FLAGS_PARAM
1139                                                      _EXC_MASKS_PARAM
1140                                                      _EXC_INFO_PARAM);
1141      extern void __bid128_signaling_less (int *pres, UINT128 * px,
1142                                         UINT128 *
1143                                         py _EXC_FLAGS_PARAM
1144                                         _EXC_MASKS_PARAM
1145                                         _EXC_INFO_PARAM);
1146      extern void __bid128_signaling_less_equal (int *pres, UINT128 * px,
1147                                               UINT128 *
1148                                               py _EXC_FLAGS_PARAM
1149                                               _EXC_MASKS_PARAM
1150                                               _EXC_INFO_PARAM);
1151      extern void __bid128_signaling_less_unordered (int *pres,
1152                                                   UINT128 * px,
1153                                                   UINT128 *
1154                                                   py _EXC_FLAGS_PARAM
1155                                                   _EXC_MASKS_PARAM
1156                                                   _EXC_INFO_PARAM);
1157      extern void __bid128_signaling_not_equal (int *pres, UINT128 * px,
1158                                              UINT128 *
1159                                              py _EXC_FLAGS_PARAM
1160                                              _EXC_MASKS_PARAM
1161                                              _EXC_INFO_PARAM);
1162      extern void __bid128_signaling_not_greater (int *pres, UINT128 * px,
1163                                                UINT128 *
1164                                                py _EXC_FLAGS_PARAM
1165                                                _EXC_MASKS_PARAM
1166                                                _EXC_INFO_PARAM);
1167      extern void __bid128_signaling_not_less (int *pres, UINT128 * px,
1168                                             UINT128 *
1169                                             py _EXC_FLAGS_PARAM
1170                                             _EXC_MASKS_PARAM
1171                                             _EXC_INFO_PARAM);
1172      extern void __bid128_signaling_ordered (int *pres, UINT128 * px,
1173                                            UINT128 *
1174                                            py _EXC_FLAGS_PARAM
1175                                            _EXC_MASKS_PARAM
1176                                            _EXC_INFO_PARAM);
1177      extern void __bid128_signaling_unordered (int *pres, UINT128 * px,
1178                                              UINT128 *
1179                                              py _EXC_FLAGS_PARAM
1180                                              _EXC_MASKS_PARAM
1181                                              _EXC_INFO_PARAM);
1182
1183      extern void __bid64_round_integral_exact (UINT64 * pres, UINT64 * px
1184                                              _RND_MODE_PARAM
1185                                              _EXC_FLAGS_PARAM
1186                                              _EXC_MASKS_PARAM
1187                                              _EXC_INFO_PARAM);
1188      extern void __bid64_round_integral_nearest_even (UINT64 * pres,
1189                                                     UINT64 *
1190                                                     px _EXC_FLAGS_PARAM
1191                                                     _EXC_MASKS_PARAM
1192                                                     _EXC_INFO_PARAM);
1193      extern void __bid64_round_integral_negative (UINT64 * pres,
1194                                                 UINT64 *
1195                                                 px _EXC_FLAGS_PARAM
1196                                                 _EXC_MASKS_PARAM
1197                                                 _EXC_INFO_PARAM);
1198      extern void __bid64_round_integral_positive (UINT64 * pres,
1199                                                 UINT64 *
1200                                                 px _EXC_FLAGS_PARAM
1201                                                 _EXC_MASKS_PARAM
1202                                                 _EXC_INFO_PARAM);
1203      extern void __bid64_round_integral_zero (UINT64 * pres,
1204                                             UINT64 *
1205                                             px _EXC_FLAGS_PARAM
1206                                             _EXC_MASKS_PARAM
1207                                             _EXC_INFO_PARAM);
1208      extern void __bid64_round_integral_nearest_away (UINT64 * pres,
1209                                                     UINT64 *
1210                                                     px _EXC_FLAGS_PARAM
1211                                                     _EXC_MASKS_PARAM
1212                                                     _EXC_INFO_PARAM);
1213
1214      extern void __bid128_round_integral_exact (UINT128 * pres,
1215                                               UINT128 *
1216                                               px _RND_MODE_PARAM
1217                                               _EXC_FLAGS_PARAM
1218                                               _EXC_MASKS_PARAM
1219                                               _EXC_INFO_PARAM);
1220      extern void __bid128_round_integral_nearest_even (UINT128 * pres,
1221                                                      UINT128 *
1222                                                      px _EXC_FLAGS_PARAM
1223                                                      _EXC_MASKS_PARAM
1224                                                      _EXC_INFO_PARAM);
1225      extern void __bid128_round_integral_negative (UINT128 * pres,
1226                                                  UINT128 *
1227                                                  px _EXC_FLAGS_PARAM
1228                                                  _EXC_MASKS_PARAM
1229                                                  _EXC_INFO_PARAM);
1230      extern void __bid128_round_integral_positive (UINT128 * pres,
1231                                                  UINT128 *
1232                                                  px _EXC_FLAGS_PARAM
1233                                                  _EXC_MASKS_PARAM
1234                                                  _EXC_INFO_PARAM);
1235      extern void __bid128_round_integral_zero (UINT128 * pres,
1236                                              UINT128 *
1237                                              px _EXC_FLAGS_PARAM
1238                                              _EXC_MASKS_PARAM
1239                                              _EXC_INFO_PARAM);
1240      extern void __bid128_round_integral_nearest_away (UINT128 * pres,
1241                                                      UINT128 *
1242                                                      px _EXC_FLAGS_PARAM
1243                                                      _EXC_MASKS_PARAM
1244                                                      _EXC_INFO_PARAM);
1245
1246      extern void __bid64_nextup (UINT64 * pres, UINT64 * px
1247                                _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1248                                _EXC_INFO_PARAM);
1249      extern void __bid64_nextdown (UINT64 * pres,
1250                                  UINT64 *
1251                                  px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1252                                  _EXC_INFO_PARAM);
1253      extern void __bid64_nextafter (UINT64 * pres, UINT64 * px,
1254                                   UINT64 *
1255                                   py _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1256                                   _EXC_INFO_PARAM);
1257
1258      extern void __bid128_nextup (UINT128 * pres, UINT128 * px
1259                                 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1260                                 _EXC_INFO_PARAM);
1261      extern void __bid128_nextdown (UINT128 * pres,
1262                                   UINT128 *
1263                                   px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1264                                   _EXC_INFO_PARAM);
1265      extern void __bid128_nextafter (UINT128 * pres, UINT128 * px,
1266                                    UINT128 *
1267                                    py _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1268                                    _EXC_INFO_PARAM);
1269
1270      extern void __bid64_minnum (UINT64 * pres, UINT64 * px, UINT64 * py);
1271      extern void __bid64_minnum_mag (UINT64 * pres, UINT64 * px,
1272                                    UINT64 * py);
1273      extern void __bid64_maxnum (UINT64 * pres, UINT64 * px, UINT64 * py);
1274      extern void __bid64_maxnum_mag (UINT64 * pres, UINT64 * px,
1275                                    UINT64 * py);
1276
1277      extern void __bid128_minnum (UINT128 * pres, UINT128 * px,
1278                                 UINT128 * py);
1279      extern void __bid128_minnum_mag (UINT128 * pres, UINT128 * px,
1280                                     UINT128 * py);
1281      extern void __bid128_maxnum (UINT128 * pres, UINT128 * px,
1282                                 UINT128 * py);
1283      extern void __bid128_maxnum_mag (UINT128 * pres, UINT128 * px,
1284                                     UINT128 * py);
1285
1286      extern void __bid64_from_int32 (UINT64 * pres, int *px
1287                                    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1288      extern void __bid64_from_uint32 (UINT64 * pres, unsigned int *px
1289                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1290      extern void __bid64_from_int64 (UINT64 * pres, SINT64 * px
1291                                    _RND_MODE_PARAM _EXC_FLAGS_PARAM
1292                                    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1293      extern void __bid64_from_uint64 (UINT64 * pres,
1294                                     UINT64 *
1295                                     px _RND_MODE_PARAM _EXC_FLAGS_PARAM
1296                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1297      extern void __bid128_from_int32 (UINT128 * pres,
1298                                     int *px _EXC_MASKS_PARAM
1299                                     _EXC_INFO_PARAM);
1300      extern void __bid128_from_uint32 (UINT128 * pres,
1301                                      unsigned int *px _EXC_MASKS_PARAM
1302                                      _EXC_INFO_PARAM);
1303      extern void __bid128_from_int64 (UINT128 * pres,
1304                                     SINT64 *
1305                                     px _EXC_MASKS_PARAM
1306                                     _EXC_INFO_PARAM);
1307      extern void __bid128_from_uint64 (UINT128 * pres,
1308                                      UINT64 *
1309                                      px _EXC_MASKS_PARAM
1310                                      _EXC_INFO_PARAM);
1311
1312      extern void __bid64_isSigned (int *pres, UINT64 * px
1313                                  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1314      extern void __bid64_isNormal (int *pres, UINT64 * px
1315                                  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1316      extern void __bid64_isSubnormal (int *pres, UINT64 * px
1317                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1318      extern void __bid64_isFinite (int *pres, UINT64 * px
1319                                  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1320      extern void __bid64_isFinite (int *pres, UINT64 * px
1321                                  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1322      extern void __bid64_isZero (int *pres, UINT64 * px
1323                                _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1324      extern void __bid64_isInf (int *pres, UINT64 * px
1325                               _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1326      extern void __bid64_isInf (int *pres, UINT64 * px
1327                               _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1328      extern void __bid64_isSignaling (int *pres, UINT64 * px
1329                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1330      extern void __bid64_isCanonical (int *pres, UINT64 * px
1331                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1332      extern void __bid64_isNaN (int *pres, UINT64 * px
1333                               _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1334      extern void __bid64_copy (UINT64 * pres, UINT64 * px
1335                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1336      extern void __bid64_negate (UINT64 * pres, UINT64 * px
1337                                _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1338      extern void __bid64_abs (UINT64 * pres, UINT64 * px
1339                             _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1340      extern void __bid64_copySign (UINT64 * pres, UINT64 * px, UINT64 * py
1341                                  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1342      extern void __bid64_class (int *pres, UINT64 * px
1343                               _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1344      extern void __bid64_sameQuantum (int *pres, UINT64 * px, UINT64 * py
1345                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1346      extern void __bid64_totalOrder (int *pres, UINT64 * px, UINT64 * py
1347                                    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1348      extern void __bid64_totalOrderMag (int *pres, UINT64 * px,
1349                                       UINT64 *
1350                                       py _EXC_MASKS_PARAM
1351                                       _EXC_INFO_PARAM);
1352      extern void __bid64_radix (int *pres,
1353                               UINT64 *
1354                               px _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1355
1356      extern void __bid128_isSigned (int *pres, UINT128 * px
1357                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1358      extern void __bid128_isNormal (int *pres, UINT128 * px
1359                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1360      extern void __bid128_isSubnormal (int *pres, UINT128 * px
1361                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1362      extern void __bid128_isFinite (int *pres, UINT128 * px
1363                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1364      extern void __bid128_isFinite (int *pres, UINT128 * px
1365                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1366      extern void __bid128_isZero (int *pres, UINT128 * px
1367                                 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1368      extern void __bid128_isInf (int *pres, UINT128 * px
1369                                _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1370      extern void __bid128_isInf (int *pres, UINT128 * px
1371                                _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1372      extern void __bid128_isSignaling (int *pres, UINT128 * px
1373                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1374      extern void __bid128_isCanonical (int *pres, UINT128 * px
1375                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1376      extern void __bid128_isNaN (int *pres, UINT128 * px
1377                                _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1378      extern void __bid128_copy (UINT128 * pres, UINT128 * px
1379                               _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1380      extern void __bid128_negate (UINT128 * pres, UINT128 * px
1381                                 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1382      extern void __bid128_abs (UINT128 * pres, UINT128 * px
1383                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1384      extern void __bid128_copySign (UINT128 * pres, UINT128 * px,
1385                                   UINT128 *
1386                                   py _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1387      extern void __bid128_class (int *pres,
1388                                UINT128 *
1389                                px _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1390      extern void __bid128_sameQuantum (int *pres, UINT128 * px,
1391                                      UINT128 *
1392                                      py _EXC_MASKS_PARAM
1393                                      _EXC_INFO_PARAM);
1394      extern void __bid128_totalOrder (int *pres, UINT128 * px,
1395                                     UINT128 *
1396                                     py _EXC_MASKS_PARAM
1397                                     _EXC_INFO_PARAM);
1398      extern void __bid128_totalOrderMag (int *pres, UINT128 * px,
1399                                        UINT128 *
1400                                        py _EXC_MASKS_PARAM
1401                                        _EXC_INFO_PARAM);
1402      extern void __bid128_radix (int *pres,
1403                                UINT128 *
1404                                px _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1405
1406      extern void __bid64_rem (UINT64 * pres, UINT64 * px, UINT64 * py
1407                             _RND_MODE_PARAM _EXC_FLAGS_PARAM
1408                             _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1409      extern void __bid64_logb (UINT64 * pres,
1410                              UINT64 *
1411                              px _RND_MODE_PARAM _EXC_FLAGS_PARAM
1412                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1413      extern void __bid64_scalb (UINT64 * pres, UINT64 * px,
1414                               int *pn _RND_MODE_PARAM _EXC_FLAGS_PARAM
1415                               _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1416
1417      extern void __bid128_rem (UINT128 * pres, UINT128 * px, UINT128 * py
1418                              _RND_MODE_PARAM _EXC_FLAGS_PARAM
1419                              _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1420      extern void __bid128_logb (UINT128 * pres,
1421                               UINT128 *
1422                               px _RND_MODE_PARAM _EXC_FLAGS_PARAM
1423                               _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1424      extern void __bid128_scalb (UINT128 * pres, UINT128 * px,
1425                                int *pn _RND_MODE_PARAM _EXC_FLAGS_PARAM
1426                                _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1427
1428      extern void __bid32_to_bid64 (UINT64 * pres, UINT32 * px _EXC_FLAGS_PARAM
1429                                  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1430      extern void __bid32_to_bid128 (UINT128 * pres, UINT32 * px _EXC_FLAGS_PARAM
1431                                  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1432      extern void __bid64_to_bid128 (UINT128 * pres, UINT64 * px _EXC_FLAGS_PARAM
1433                                  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1434      extern void __bid64_to_bid32 (UINT32 * pres, UINT64 * px
1435                                  _RND_MODE_PARAM _EXC_FLAGS_PARAM
1436                                  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1437      extern void __bid128_to_bid32 (UINT32 * pres,
1438                                   UINT128 *
1439                                   px _RND_MODE_PARAM _EXC_FLAGS_PARAM
1440                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1441      extern void __bid128_to_bid64 (UINT64 * pres,
1442                                   UINT128 *
1443                                   px _RND_MODE_PARAM _EXC_FLAGS_PARAM
1444                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1445
1446      extern void __bid64_from_string (UINT64 * pres, char *ps
1447                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1448                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1449      extern void __bid64_to_string (char *ps,
1450                                   UINT64 *
1451                                   px _RND_MODE_PARAM _EXC_FLAGS_PARAM
1452                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1453      extern void __bid128_from_string (UINT128 * pres,
1454                                      char *ps _RND_MODE_PARAM
1455                                      _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1456                                      _EXC_INFO_PARAM);
1457      extern void __bid128_to_string (char *str,
1458                                    UINT128 *
1459                                    px _RND_MODE_PARAM _EXC_FLAGS_PARAM
1460                                    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1461
1462      extern void __bid64_quantize (UINT64 * pres, UINT64 * px,
1463                                  UINT64 *
1464                                  py _RND_MODE_PARAM _EXC_FLAGS_PARAM
1465                                  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1466
1467      extern void __bid128_quantize (UINT128 * pres, UINT128 * px,
1468                                   UINT128 *
1469                                   py _RND_MODE_PARAM _EXC_FLAGS_PARAM
1470                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1471
1472      extern void __bid128_to_binary32 (float *pres, UINT128 * px
1473                                      _RND_MODE_PARAM _EXC_FLAGS_PARAM
1474                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1475
1476      extern void __bid128_to_binary64 (double *pres, UINT128 * px
1477                                      _RND_MODE_PARAM _EXC_FLAGS_PARAM
1478                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1479
1480      extern void __bid128_to_binary80 (long double *pres, UINT128 * px
1481                                      _RND_MODE_PARAM _EXC_FLAGS_PARAM
1482                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1483
1484      extern void __bid128_to_binary128 (_i_quad_t_ * pres, UINT128 * px
1485                                       _RND_MODE_PARAM _EXC_FLAGS_PARAM
1486                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1487
1488      extern void __binary128_to_bid32 (UINT32 * pres, _i_quad_t_ * px
1489                                      _RND_MODE_PARAM _EXC_FLAGS_PARAM
1490                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1491
1492      extern void __binary128_to_bid64 (UINT64 * pres, _i_quad_t_ * px
1493                                      _RND_MODE_PARAM _EXC_FLAGS_PARAM
1494                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1495
1496      extern void __binary128_to_bid128 (UINT128 * pres, _i_quad_t_ * px
1497                                       _RND_MODE_PARAM _EXC_FLAGS_PARAM
1498                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1499
1500      extern void __bid64_to_binary32 (float *pres, UINT64 * px
1501                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1502                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1503
1504      extern void __bid64_to_binary64 (double *pres, UINT64 * px
1505                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1506                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1507
1508      extern void __bid64_to_binary80 (long double *pres, UINT64 * px
1509                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1510                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1511
1512      extern void __bid64_to_binary128 (_i_quad_t_ * pres, UINT64 * px
1513                                      _RND_MODE_PARAM _EXC_FLAGS_PARAM
1514                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1515
1516      extern void __binary64_to_bid32 (UINT32 * pres, double *px
1517                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1518                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1519
1520      extern void __binary64_to_bid64 (UINT64 * pres, double *px
1521                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1522                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1523
1524      extern void __binary64_to_bid128 (UINT128 * pres, double *px
1525                                      _RND_MODE_PARAM _EXC_FLAGS_PARAM
1526                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1527
1528      extern void __bid32_to_binary32 (float *pres, UINT32 * px
1529                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1530                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1531
1532      extern void __bid32_to_binary64 (double *pres, UINT32 * px
1533                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1534                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1535
1536      extern void __bid32_to_binary80 (long double *pres, UINT32 * px
1537                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1538                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1539
1540      extern void __bid32_to_binary128 (_i_quad_t_ * pres, UINT32 * px
1541                                      _RND_MODE_PARAM _EXC_FLAGS_PARAM
1542                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1543
1544      extern void __binary32_to_bid32 (UINT32 * pres, float *px
1545                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1546                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1547
1548      extern void __binary32_to_bid64 (UINT64 * pres, float *px
1549                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1550                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1551
1552      extern void __binary32_to_bid128 (UINT128 * pres, float *px
1553                                      _RND_MODE_PARAM _EXC_FLAGS_PARAM
1554                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1555
1556      extern void __binary80_to_bid32 (UINT32 * pres, long double *px
1557                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1558                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1559
1560      extern void __binary80_to_bid64 (UINT64 * pres, long double *px
1561                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1562                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1563
1564      extern void __binary80_to_bid128 (UINT128 * pres, long double *px
1565                                      _RND_MODE_PARAM _EXC_FLAGS_PARAM
1566                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1567
1568      extern void __bid_is754 (int *retval);
1569
1570      extern void __bid_is754R (int *retval);
1571
1572      extern void __bid_lowerFlags (_IDEC_flags * pflagsmask _EXC_FLAGS_PARAM);
1573
1574      extern void __bid_testFlags (_IDEC_flags * praised,
1575                             _IDEC_flags * pflagsmask _EXC_FLAGS_PARAM);
1576
1577      extern void __bid_testSavedFlags (_IDEC_flags * praised,
1578                                  _IDEC_flags * psavedflags,
1579                                  _IDEC_flags * pflagsmask);
1580
1581      extern void __bid_restoreFlags (_IDEC_flags * pflagsvalues,
1582                                _IDEC_flags *
1583                                pflagsmask _EXC_FLAGS_PARAM);
1584
1585      extern void __bid_saveFlags (_IDEC_flags * pflagsvalues,
1586                             _IDEC_flags * pflagsmask _EXC_FLAGS_PARAM);
1587
1588      extern void __bid_saveFlags (_IDEC_flags * pflagsvalues,
1589                             _IDEC_flags * pflagsmask _EXC_FLAGS_PARAM);
1590
1591      void __bid_getDecimalRoundingDirection (_IDEC_round *
1592                                        rounding_mode _RND_MODE_PARAM);
1593
1594      void __bid_setDecimalRoundingDirection (_IDEC_round *
1595                                        rounding_mode _RND_MODE_PARAM);
1596
1597 #else
1598
1599      extern UINT128 __bid128dd_add (UINT64 x, UINT64 y
1600                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1601                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1602      extern UINT128 __bid128dq_add (UINT64 x, UINT128 y
1603                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1604                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1605      extern UINT128 __bid128qd_add (UINT128 x, UINT64 y
1606                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1607                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1608      extern UINT128 __bid128_add (UINT128 x, UINT128 y
1609                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1610                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1611      extern UINT128 __bid128dd_sub (UINT64 x, UINT64 y
1612                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1613                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1614      extern UINT128 __bid128dq_sub (UINT64 x, UINT128 y
1615                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1616                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1617      extern UINT128 __bid128qd_sub (UINT128 x, UINT64 y
1618                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1619                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1620      extern UINT128 __bid128_sub (UINT128 x,
1621                                     UINT128 y _RND_MODE_PARAM
1622                                     _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1623                                     _EXC_INFO_PARAM);
1624      extern UINT128 __bid128dd_mul (UINT64 x, UINT64 y
1625                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1626                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1627      extern UINT128 __bid128dq_mul (UINT64 x, UINT128 y
1628                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1629                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1630      extern UINT128 __bid128qd_mul (UINT128 x, UINT64 y
1631                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1632                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1633      extern UINT128 __bid128_mul (UINT128 x, UINT128 y 
1634                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1635                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1636      extern UINT128 __bid128_div (UINT128 x,
1637                                     UINT128 y _RND_MODE_PARAM
1638                                     _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1639                                     _EXC_INFO_PARAM);
1640      extern UINT128 __bid128dd_div (UINT64 x, UINT64 y
1641                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1642                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1643      extern UINT128 __bid128dq_div (UINT64 x, UINT128 y
1644                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1645                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1646      extern UINT128 __bid128qd_div (UINT128 x, UINT64 y
1647                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1648                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1649      extern UINT128 __bid128_fma (UINT128 x, UINT128 y, UINT128 z
1650                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1651                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1652      extern UINT128 __bid128ddd_fma (UINT64 x, UINT64 y, UINT64 z
1653                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1654                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1655      extern UINT128 __bid128ddq_fma (UINT64 x, UINT64 y, UINT128 z
1656                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1657                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1658      extern UINT128 __bid128dqd_fma (UINT64 x, UINT128 y, UINT64 z
1659                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1660                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1661      extern UINT128 __bid128dqq_fma (UINT64 x, UINT128 y, 
1662                                     UINT128 z
1663                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1664                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1665      extern UINT128 __bid128qdd_fma (UINT128 x, UINT64 y, UINT64 z
1666                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1667                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1668      extern UINT128 __bid128qdq_fma (UINT128 x, UINT64 y, 
1669                                     UINT128 z
1670                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1671                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1672      extern UINT128 __bid128qqd_fma (UINT128 x, UINT128 y, 
1673                                     UINT64 z
1674                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1675                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1676      // Note: __bid128qqq_fma is represented by bid128_fma
1677      // Note: __bid64ddd_fma is represented by bid64_fma
1678      extern UINT64 __bid64ddq_fma (UINT64 x, UINT64 y, 
1679                                     UINT128 z
1680                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1681                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1682      extern UINT64 __bid64dqd_fma (UINT64 x, UINT128 y, 
1683                                     UINT64 z
1684                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1685                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1686      extern UINT64 __bid64dqq_fma (UINT64 x, UINT128 y, 
1687                                     UINT128 z
1688                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1689                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1690      extern UINT64 __bid64qdd_fma (UINT128 x, UINT64 y, 
1691                                     UINT64 z
1692                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1693                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1694      extern UINT64 __bid64qdq_fma (UINT128 x, UINT64 y, 
1695                                     UINT128 z
1696                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1697                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1698      extern UINT64 __bid64qqd_fma (UINT128 x, UINT128 y, 
1699                                     UINT64 z
1700                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1701                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1702      extern UINT64 __bid64qqq_fma (UINT128 x, UINT128 y, 
1703                                     UINT128 z
1704                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1705                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1706
1707      extern UINT128 __bid128_sqrt (UINT128 x _RND_MODE_PARAM
1708                                      _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1709                                      _EXC_INFO_PARAM);
1710      extern UINT128 __bid128d_sqrt (UINT64 x
1711                                     _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1712                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1713
1714      extern UINT64 __bid64_add (UINT64 x, UINT64 y
1715                                   _RND_MODE_PARAM _EXC_FLAGS_PARAM
1716                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1717      extern UINT64 __bid64dq_add (UINT64 x, UINT128 y
1718                                   _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1719                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1720      extern UINT64 __bid64qd_add (UINT128 x, UINT64 y
1721                                   _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1722                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1723      extern UINT64 __bid64qq_add (UINT128 x, UINT128 y
1724                                   _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1725                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1726      extern UINT64 __bid64_sub (UINT64 x,
1727                                   UINT64 y _RND_MODE_PARAM
1728                                   _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1729                                   _EXC_INFO_PARAM);
1730      extern UINT64 __bid64dq_sub (UINT64 x, UINT128 y
1731                                   _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1732                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1733      extern UINT64 __bid64qd_sub (UINT128 x, UINT64 y
1734                                   _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1735                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1736      extern UINT64 __bid64qq_sub (UINT128 x, UINT128 y
1737                                   _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1738                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1739      extern UINT64 __bid64_mul (UINT64 x, UINT64 y 
1740                                   _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1741                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1742      extern UINT64 __bid64dq_mul (UINT64 x, UINT128 y
1743                                   _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1744                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1745      extern UINT64 __bid64qd_mul (UINT128 x, UINT64 y
1746                                   _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1747                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1748      extern UINT64 __bid64qq_mul (UINT128 x, UINT128 y
1749                                   _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1750                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1751      extern UINT64 __bid64_div (UINT64 x,
1752                                   UINT64 y _RND_MODE_PARAM
1753                                   _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1754                                   _EXC_INFO_PARAM);
1755      extern UINT64 __bid64dq_div (UINT64 x, UINT128 y
1756                                   _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1757                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1758      extern UINT64 __bid64qd_div (UINT128 x, UINT64 y
1759                                   _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1760                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1761      extern UINT64 __bid64qq_div (UINT128 x, UINT128 y
1762                                   _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1763                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1764      extern UINT64 __bid64_fma (UINT64 x, UINT64 y,
1765                                   UINT64 z _RND_MODE_PARAM
1766                                   _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1767                                   _EXC_INFO_PARAM);
1768      extern UINT64 __bid64_sqrt (UINT64 x _RND_MODE_PARAM
1769                                    _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1770                                    _EXC_INFO_PARAM);
1771      extern UINT64 __bid64q_sqrt (UINT128 x
1772                                   _RND_MODE_PARAM _EXC_FLAGS_PARAM 
1773                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM); 
1774
1775      extern int __bid128_to_int32_rnint (UINT128 x _EXC_FLAGS_PARAM
1776                                        _EXC_MASKS_PARAM
1777                                        _EXC_INFO_PARAM);
1778      extern int __bid128_to_int32_xrnint (UINT128 x _EXC_FLAGS_PARAM
1779                                         _EXC_MASKS_PARAM
1780                                         _EXC_INFO_PARAM);
1781      extern int __bid128_to_int32_rninta (UINT128 x _EXC_FLAGS_PARAM
1782                                         _EXC_MASKS_PARAM
1783                                         _EXC_INFO_PARAM);
1784      extern int __bid128_to_int32_xrninta (UINT128 x _EXC_FLAGS_PARAM
1785                                          _EXC_MASKS_PARAM
1786                                          _EXC_INFO_PARAM);
1787      extern int __bid128_to_int32_int (UINT128 x _EXC_FLAGS_PARAM
1788                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1789      extern int __bid128_to_int32_xint (UINT128 x _EXC_FLAGS_PARAM
1790                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1791      extern int __bid128_to_int32_floor (UINT128 x _EXC_FLAGS_PARAM
1792                                        _EXC_MASKS_PARAM
1793                                        _EXC_INFO_PARAM);
1794      extern int __bid128_to_int32_xfloor (UINT128 x _EXC_FLAGS_PARAM
1795                                         _EXC_MASKS_PARAM
1796                                         _EXC_INFO_PARAM);
1797      extern int __bid128_to_int32_ceil (UINT128 x _EXC_FLAGS_PARAM
1798                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1799      extern int __bid128_to_int32_xceil (UINT128 x _EXC_FLAGS_PARAM
1800                                        _EXC_MASKS_PARAM
1801                                        _EXC_INFO_PARAM);
1802      extern unsigned int __bid128_to_uint32_rnint (UINT128 x
1803                                                  _EXC_FLAGS_PARAM
1804                                                  _EXC_MASKS_PARAM
1805                                                  _EXC_INFO_PARAM);
1806      extern unsigned int __bid128_to_uint32_xrnint (UINT128 x
1807                                                   _EXC_FLAGS_PARAM
1808                                                   _EXC_MASKS_PARAM
1809                                                   _EXC_INFO_PARAM);
1810      extern unsigned int __bid128_to_uint32_rninta (UINT128 x
1811                                                   _EXC_FLAGS_PARAM
1812                                                   _EXC_MASKS_PARAM
1813                                                   _EXC_INFO_PARAM);
1814      extern unsigned int __bid128_to_uint32_xrninta (UINT128 x
1815                                                    _EXC_FLAGS_PARAM
1816                                                    _EXC_MASKS_PARAM
1817                                                    _EXC_INFO_PARAM);
1818      extern unsigned int __bid128_to_uint32_int (UINT128 x
1819                                                _EXC_FLAGS_PARAM
1820                                                _EXC_MASKS_PARAM
1821                                                _EXC_INFO_PARAM);
1822      extern unsigned int __bid128_to_uint32_xint (UINT128 x
1823                                                 _EXC_FLAGS_PARAM
1824                                                 _EXC_MASKS_PARAM
1825                                                 _EXC_INFO_PARAM);
1826      extern unsigned int __bid128_to_uint32_floor (UINT128 x
1827                                                  _EXC_FLAGS_PARAM
1828                                                  _EXC_MASKS_PARAM
1829                                                  _EXC_INFO_PARAM);
1830      extern unsigned int __bid128_to_uint32_xfloor (UINT128 x
1831                                                   _EXC_FLAGS_PARAM
1832                                                   _EXC_MASKS_PARAM
1833                                                   _EXC_INFO_PARAM);
1834      extern unsigned int __bid128_to_uint32_ceil (UINT128 x
1835                                                 _EXC_FLAGS_PARAM
1836                                                 _EXC_MASKS_PARAM
1837                                                 _EXC_INFO_PARAM);
1838      extern unsigned int __bid128_to_uint32_xceil (UINT128 x
1839                                                  _EXC_FLAGS_PARAM
1840                                                  _EXC_MASKS_PARAM
1841                                                  _EXC_INFO_PARAM);
1842      extern SINT64 __bid128_to_int64_rnint (UINT128 x _EXC_FLAGS_PARAM
1843                                           _EXC_MASKS_PARAM
1844                                           _EXC_INFO_PARAM);
1845      extern SINT64 __bid128_to_int64_xrnint (UINT128 x _EXC_FLAGS_PARAM
1846                                            _EXC_MASKS_PARAM
1847                                            _EXC_INFO_PARAM);
1848      extern SINT64 __bid128_to_int64_rninta (UINT128 x _EXC_FLAGS_PARAM
1849                                            _EXC_MASKS_PARAM
1850                                            _EXC_INFO_PARAM);
1851      extern SINT64 __bid128_to_int64_xrninta (UINT128 x _EXC_FLAGS_PARAM
1852                                             _EXC_MASKS_PARAM
1853                                             _EXC_INFO_PARAM);
1854      extern SINT64 __bid128_to_int64_int (UINT128 x _EXC_FLAGS_PARAM
1855                                         _EXC_MASKS_PARAM
1856                                         _EXC_INFO_PARAM);
1857      extern SINT64 __bid128_to_int64_xint (UINT128 x _EXC_FLAGS_PARAM
1858                                          _EXC_MASKS_PARAM
1859                                          _EXC_INFO_PARAM);
1860      extern SINT64 __bid128_to_int64_floor (UINT128 x _EXC_FLAGS_PARAM
1861                                           _EXC_MASKS_PARAM
1862                                           _EXC_INFO_PARAM);
1863      extern SINT64 __bid128_to_int64_xfloor (UINT128 x _EXC_FLAGS_PARAM
1864                                            _EXC_MASKS_PARAM
1865                                            _EXC_INFO_PARAM);
1866      extern SINT64 __bid128_to_int64_ceil (UINT128 x _EXC_FLAGS_PARAM
1867                                          _EXC_MASKS_PARAM
1868                                          _EXC_INFO_PARAM);
1869      extern SINT64 __bid128_to_int64_xceil (UINT128 x _EXC_FLAGS_PARAM
1870                                           _EXC_MASKS_PARAM
1871                                           _EXC_INFO_PARAM);
1872      extern UINT64 __bid128_to_uint64_rnint (UINT128 x _EXC_FLAGS_PARAM
1873                                            _EXC_MASKS_PARAM
1874                                            _EXC_INFO_PARAM);
1875      extern UINT64 __bid128_to_uint64_xrnint (UINT128 x _EXC_FLAGS_PARAM
1876                                             _EXC_MASKS_PARAM
1877                                             _EXC_INFO_PARAM);
1878      extern UINT64 __bid128_to_uint64_rninta (UINT128 x _EXC_FLAGS_PARAM
1879                                             _EXC_MASKS_PARAM
1880                                             _EXC_INFO_PARAM);
1881      extern UINT64 __bid128_to_uint64_xrninta (UINT128 x _EXC_FLAGS_PARAM
1882                                              _EXC_MASKS_PARAM
1883                                              _EXC_INFO_PARAM);
1884      extern UINT64 __bid128_to_uint64_int (UINT128 x _EXC_FLAGS_PARAM
1885                                          _EXC_MASKS_PARAM
1886                                          _EXC_INFO_PARAM);
1887      extern UINT64 __bid128_to_uint64_xint (UINT128 x _EXC_FLAGS_PARAM
1888                                           _EXC_MASKS_PARAM
1889                                           _EXC_INFO_PARAM);
1890      extern UINT64 __bid128_to_uint64_floor (UINT128 x _EXC_FLAGS_PARAM
1891                                            _EXC_MASKS_PARAM
1892                                            _EXC_INFO_PARAM);
1893      extern UINT64 __bid128_to_uint64_xfloor (UINT128 x _EXC_FLAGS_PARAM
1894                                             _EXC_MASKS_PARAM
1895                                             _EXC_INFO_PARAM);
1896      extern UINT64 __bid128_to_uint64_ceil (UINT128 x _EXC_FLAGS_PARAM
1897                                           _EXC_MASKS_PARAM
1898                                           _EXC_INFO_PARAM);
1899      extern UINT64 __bid128_to_uint64_xceil (UINT128 x _EXC_FLAGS_PARAM
1900                                            _EXC_MASKS_PARAM
1901                                            _EXC_INFO_PARAM);
1902      extern int __bid64_to_int32_rnint (UINT64 x _EXC_FLAGS_PARAM
1903                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1904      extern int __bid64_to_int32_xrnint (UINT64 x _EXC_FLAGS_PARAM
1905                                        _EXC_MASKS_PARAM
1906                                        _EXC_INFO_PARAM);
1907      extern int __bid64_to_int32_rninta (UINT64 x _EXC_FLAGS_PARAM
1908                                        _EXC_MASKS_PARAM
1909                                        _EXC_INFO_PARAM);
1910      extern int __bid64_to_int32_xrninta (UINT64 x _EXC_FLAGS_PARAM
1911                                         _EXC_MASKS_PARAM
1912                                         _EXC_INFO_PARAM);
1913      extern int __bid64_to_int32_int (UINT64 x _EXC_FLAGS_PARAM
1914                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1915      extern int __bid64_to_int32_xint (UINT64 x _EXC_FLAGS_PARAM
1916                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1917      extern int __bid64_to_int32_floor (UINT64 x _EXC_FLAGS_PARAM
1918                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1919      extern int __bid64_to_int32_xfloor (UINT64 x _EXC_FLAGS_PARAM
1920                                        _EXC_MASKS_PARAM
1921                                        _EXC_INFO_PARAM);
1922      extern int __bid64_to_int32_ceil (UINT64 x _EXC_FLAGS_PARAM
1923                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1924      extern int __bid64_to_int32_xceil (UINT64 x _EXC_FLAGS_PARAM
1925                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1926      extern unsigned int __bid64_to_uint32_rnint (UINT64 x
1927                                                 _EXC_FLAGS_PARAM
1928                                                 _EXC_MASKS_PARAM
1929                                                 _EXC_INFO_PARAM);
1930      extern unsigned int __bid64_to_uint32_xrnint (UINT64 x
1931                                                  _EXC_FLAGS_PARAM
1932                                                  _EXC_MASKS_PARAM
1933                                                  _EXC_INFO_PARAM);
1934      extern unsigned int __bid64_to_uint32_rninta (UINT64 x
1935                                                  _EXC_FLAGS_PARAM
1936                                                  _EXC_MASKS_PARAM
1937                                                  _EXC_INFO_PARAM);
1938      extern unsigned int __bid64_to_uint32_xrninta (UINT64 x
1939                                                   _EXC_FLAGS_PARAM
1940                                                   _EXC_MASKS_PARAM
1941                                                   _EXC_INFO_PARAM);
1942      extern unsigned int __bid64_to_uint32_int (UINT64 x _EXC_FLAGS_PARAM
1943                                               _EXC_MASKS_PARAM
1944                                               _EXC_INFO_PARAM);
1945      extern unsigned int __bid64_to_uint32_xint (UINT64 x _EXC_FLAGS_PARAM
1946                                                _EXC_MASKS_PARAM
1947                                                _EXC_INFO_PARAM);
1948      extern unsigned int __bid64_to_uint32_floor (UINT64 x
1949                                                 _EXC_FLAGS_PARAM
1950                                                 _EXC_MASKS_PARAM
1951                                                 _EXC_INFO_PARAM);
1952      extern unsigned int __bid64_to_uint32_xfloor (UINT64 x
1953                                                  _EXC_FLAGS_PARAM
1954                                                  _EXC_MASKS_PARAM
1955                                                  _EXC_INFO_PARAM);
1956      extern unsigned int __bid64_to_uint32_ceil (UINT64 x _EXC_FLAGS_PARAM
1957                                                _EXC_MASKS_PARAM
1958                                                _EXC_INFO_PARAM);
1959      extern unsigned int __bid64_to_uint32_xceil (UINT64 x
1960                                                 _EXC_FLAGS_PARAM
1961                                                 _EXC_MASKS_PARAM
1962                                                 _EXC_INFO_PARAM);
1963      extern SINT64 __bid64_to_int64_rnint (UINT64 x _EXC_FLAGS_PARAM
1964                                          _EXC_MASKS_PARAM
1965                                          _EXC_INFO_PARAM);
1966      extern SINT64 __bid64_to_int64_xrnint (UINT64 x _EXC_FLAGS_PARAM
1967                                           _EXC_MASKS_PARAM
1968                                           _EXC_INFO_PARAM);
1969      extern SINT64 __bid64_to_int64_rninta (UINT64 x _EXC_FLAGS_PARAM
1970                                           _EXC_MASKS_PARAM
1971                                           _EXC_INFO_PARAM);
1972      extern SINT64 __bid64_to_int64_xrninta (UINT64 x _EXC_FLAGS_PARAM
1973                                            _EXC_MASKS_PARAM
1974                                            _EXC_INFO_PARAM);
1975      extern SINT64 __bid64_to_int64_int (UINT64 x _EXC_FLAGS_PARAM
1976                                        _EXC_MASKS_PARAM
1977                                        _EXC_INFO_PARAM);
1978      extern SINT64 __bid64_to_int64_xint (UINT64 x _EXC_FLAGS_PARAM
1979                                         _EXC_MASKS_PARAM
1980                                         _EXC_INFO_PARAM);
1981      extern SINT64 __bid64_to_int64_floor (UINT64 x _EXC_FLAGS_PARAM
1982                                          _EXC_MASKS_PARAM
1983                                          _EXC_INFO_PARAM);
1984      extern SINT64 __bid64_to_int64_xfloor (UINT64 x _EXC_FLAGS_PARAM
1985                                           _EXC_MASKS_PARAM
1986                                           _EXC_INFO_PARAM);
1987      extern SINT64 __bid64_to_int64_ceil (UINT64 x _EXC_FLAGS_PARAM
1988                                         _EXC_MASKS_PARAM
1989                                         _EXC_INFO_PARAM);
1990      extern SINT64 __bid64_to_int64_xceil (UINT64 x _EXC_FLAGS_PARAM
1991                                          _EXC_MASKS_PARAM
1992                                          _EXC_INFO_PARAM);
1993      extern UINT64 __bid64_to_uint64_rnint (UINT64 x _EXC_FLAGS_PARAM
1994                                           _EXC_MASKS_PARAM
1995                                           _EXC_INFO_PARAM);
1996      extern UINT64 __bid64_to_uint64_xrnint (UINT64 x _EXC_FLAGS_PARAM
1997                                            _EXC_MASKS_PARAM
1998                                            _EXC_INFO_PARAM);
1999      extern UINT64 __bid64_to_uint64_rninta (UINT64 x _EXC_FLAGS_PARAM
2000                                            _EXC_MASKS_PARAM
2001                                            _EXC_INFO_PARAM);
2002      extern UINT64 __bid64_to_uint64_xrninta (UINT64 x _EXC_FLAGS_PARAM
2003                                             _EXC_MASKS_PARAM
2004                                             _EXC_INFO_PARAM);
2005      extern UINT64 __bid64_to_uint64_int (UINT64 x _EXC_FLAGS_PARAM
2006                                         _EXC_MASKS_PARAM
2007                                         _EXC_INFO_PARAM);
2008      extern UINT64 __bid64_to_uint64_xint (UINT64 x _EXC_FLAGS_PARAM
2009                                          _EXC_MASKS_PARAM
2010                                          _EXC_INFO_PARAM);
2011      extern UINT64 __bid64_to_uint64_floor (UINT64 x _EXC_FLAGS_PARAM
2012                                           _EXC_MASKS_PARAM
2013                                           _EXC_INFO_PARAM);
2014      extern UINT64 __bid64_to_uint64_xfloor (UINT64 x _EXC_FLAGS_PARAM
2015                                            _EXC_MASKS_PARAM
2016                                            _EXC_INFO_PARAM);
2017      extern UINT64 __bid64_to_uint64_ceil (UINT64 x _EXC_FLAGS_PARAM
2018                                          _EXC_MASKS_PARAM
2019                                          _EXC_INFO_PARAM);
2020      extern UINT64 __bid64_to_uint64_xceil (UINT64 x _EXC_FLAGS_PARAM
2021                                           _EXC_MASKS_PARAM
2022                                           _EXC_INFO_PARAM);
2023
2024      extern int __bid64_quiet_equal (UINT64 x, UINT64 y
2025                                    _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2026                                    _EXC_INFO_PARAM);
2027      extern int __bid64_quiet_greater (UINT64 x,
2028                                      UINT64 y _EXC_FLAGS_PARAM
2029                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2030      extern int __bid64_quiet_greater_equal (UINT64 x,
2031                                            UINT64 y _EXC_FLAGS_PARAM
2032                                            _EXC_MASKS_PARAM
2033                                            _EXC_INFO_PARAM);
2034      extern int __bid64_quiet_greater_unordered (UINT64 x,
2035                                                UINT64 y _EXC_FLAGS_PARAM
2036                                                _EXC_MASKS_PARAM
2037                                                _EXC_INFO_PARAM);
2038      extern int __bid64_quiet_less (UINT64 x,
2039                                   UINT64 y _EXC_FLAGS_PARAM
2040                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2041      extern int __bid64_quiet_less_equal (UINT64 x,
2042                                         UINT64 y _EXC_FLAGS_PARAM
2043                                         _EXC_MASKS_PARAM
2044                                         _EXC_INFO_PARAM);
2045      extern int __bid64_quiet_less_unordered (UINT64 x,
2046                                             UINT64 y _EXC_FLAGS_PARAM
2047                                             _EXC_MASKS_PARAM
2048                                             _EXC_INFO_PARAM);
2049      extern int __bid64_quiet_not_equal (UINT64 x,
2050                                        UINT64 y _EXC_FLAGS_PARAM
2051                                        _EXC_MASKS_PARAM
2052                                        _EXC_INFO_PARAM);
2053      extern int __bid64_quiet_not_greater (UINT64 x,
2054                                          UINT64 y _EXC_FLAGS_PARAM
2055                                          _EXC_MASKS_PARAM
2056                                          _EXC_INFO_PARAM);
2057      extern int __bid64_quiet_not_less (UINT64 x,
2058                                       UINT64 y _EXC_FLAGS_PARAM
2059                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2060      extern int __bid64_quiet_ordered (UINT64 x,
2061                                      UINT64 y _EXC_FLAGS_PARAM
2062                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2063      extern int __bid64_quiet_unordered (UINT64 x,
2064                                        UINT64 y _EXC_FLAGS_PARAM
2065                                        _EXC_MASKS_PARAM
2066                                        _EXC_INFO_PARAM);
2067      extern int __bid64_signaling_equal (UINT64 x,
2068                                        UINT64 y _EXC_FLAGS_PARAM
2069                                        _EXC_MASKS_PARAM
2070                                        _EXC_INFO_PARAM);
2071      extern int __bid64_signaling_greater (UINT64 x,
2072                                          UINT64 y _EXC_FLAGS_PARAM
2073                                          _EXC_MASKS_PARAM
2074                                          _EXC_INFO_PARAM);
2075      extern int __bid64_signaling_greater_equal (UINT64 x,
2076                                                UINT64 y _EXC_FLAGS_PARAM
2077                                                _EXC_MASKS_PARAM
2078                                                _EXC_INFO_PARAM);
2079      extern int __bid64_signaling_greater_unordered (UINT64 x,
2080                                                    UINT64 y
2081                                                    _EXC_FLAGS_PARAM
2082                                                    _EXC_MASKS_PARAM
2083                                                    _EXC_INFO_PARAM);
2084      extern int __bid64_signaling_less (UINT64 x,
2085                                       UINT64 y _EXC_FLAGS_PARAM
2086                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2087      extern int __bid64_signaling_less_equal (UINT64 x,
2088                                             UINT64 y _EXC_FLAGS_PARAM
2089                                             _EXC_MASKS_PARAM
2090                                             _EXC_INFO_PARAM);
2091      extern int __bid64_signaling_less_unordered (UINT64 x,
2092                                                 UINT64 y
2093                                                 _EXC_FLAGS_PARAM
2094                                                 _EXC_MASKS_PARAM
2095                                                 _EXC_INFO_PARAM);
2096      extern int __bid64_signaling_not_equal (UINT64 x,
2097                                            UINT64 y _EXC_FLAGS_PARAM
2098                                            _EXC_MASKS_PARAM
2099                                            _EXC_INFO_PARAM);
2100      extern int __bid64_signaling_not_greater (UINT64 x,
2101                                              UINT64 y _EXC_FLAGS_PARAM
2102                                              _EXC_MASKS_PARAM
2103                                              _EXC_INFO_PARAM);
2104      extern int __bid64_signaling_not_less (UINT64 x,
2105                                           UINT64 y _EXC_FLAGS_PARAM
2106                                           _EXC_MASKS_PARAM
2107                                           _EXC_INFO_PARAM);
2108      extern int __bid64_signaling_ordered (UINT64 x,
2109                                          UINT64 y _EXC_FLAGS_PARAM
2110                                          _EXC_MASKS_PARAM
2111                                          _EXC_INFO_PARAM);
2112      extern int __bid64_signaling_unordered (UINT64 x,
2113                                            UINT64 y _EXC_FLAGS_PARAM
2114                                            _EXC_MASKS_PARAM
2115                                            _EXC_INFO_PARAM);
2116
2117      extern int __bid128_quiet_equal (UINT128 x, UINT128 y
2118                                     _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2119                                     _EXC_INFO_PARAM);
2120      extern int __bid128_quiet_greater (UINT128 x,
2121                                       UINT128 y _EXC_FLAGS_PARAM
2122                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2123      extern int __bid128_quiet_greater_equal (UINT128 x,
2124                                             UINT128 y _EXC_FLAGS_PARAM
2125                                             _EXC_MASKS_PARAM
2126                                             _EXC_INFO_PARAM);
2127      extern int __bid128_quiet_greater_unordered (UINT128 x,
2128                                                 UINT128 y
2129                                                 _EXC_FLAGS_PARAM
2130                                                 _EXC_MASKS_PARAM
2131                                                 _EXC_INFO_PARAM);
2132      extern int __bid128_quiet_less (UINT128 x,
2133                                    UINT128 y _EXC_FLAGS_PARAM
2134                                    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2135      extern int __bid128_quiet_less_equal (UINT128 x,
2136                                          UINT128 y _EXC_FLAGS_PARAM
2137                                          _EXC_MASKS_PARAM
2138                                          _EXC_INFO_PARAM);
2139      extern int __bid128_quiet_less_unordered (UINT128 x,
2140                                              UINT128 y _EXC_FLAGS_PARAM
2141                                              _EXC_MASKS_PARAM
2142                                              _EXC_INFO_PARAM);
2143      extern int __bid128_quiet_not_equal (UINT128 x,
2144                                         UINT128 y _EXC_FLAGS_PARAM
2145                                         _EXC_MASKS_PARAM
2146                                         _EXC_INFO_PARAM);
2147      extern int __bid128_quiet_not_greater (UINT128 x,
2148                                           UINT128 y _EXC_FLAGS_PARAM
2149                                           _EXC_MASKS_PARAM
2150                                           _EXC_INFO_PARAM);
2151      extern int __bid128_quiet_not_less (UINT128 x,
2152                                        UINT128 y _EXC_FLAGS_PARAM
2153                                        _EXC_MASKS_PARAM
2154                                        _EXC_INFO_PARAM);
2155      extern int __bid128_quiet_ordered (UINT128 x,
2156                                       UINT128 y _EXC_FLAGS_PARAM
2157                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2158      extern int __bid128_quiet_unordered (UINT128 x,
2159                                         UINT128 y _EXC_FLAGS_PARAM
2160                                         _EXC_MASKS_PARAM
2161                                         _EXC_INFO_PARAM);
2162      extern int __bid128_signaling_equal (UINT128 x,
2163                                         UINT128 y _EXC_FLAGS_PARAM
2164                                         _EXC_MASKS_PARAM
2165                                         _EXC_INFO_PARAM);
2166      extern int __bid128_signaling_greater (UINT128 x,
2167                                           UINT128 y _EXC_FLAGS_PARAM
2168                                           _EXC_MASKS_PARAM
2169                                           _EXC_INFO_PARAM);
2170      extern int __bid128_signaling_greater_equal (UINT128 x,
2171                                                 UINT128 y
2172                                                 _EXC_FLAGS_PARAM
2173                                                 _EXC_MASKS_PARAM
2174                                                 _EXC_INFO_PARAM);
2175      extern int __bid128_signaling_greater_unordered (UINT128 x,
2176                                                     UINT128 y
2177                                                     _EXC_FLAGS_PARAM
2178                                                     _EXC_MASKS_PARAM
2179                                                     _EXC_INFO_PARAM);
2180      extern int __bid128_signaling_less (UINT128 x,
2181                                        UINT128 y _EXC_FLAGS_PARAM
2182                                        _EXC_MASKS_PARAM
2183                                        _EXC_INFO_PARAM);
2184      extern int __bid128_signaling_less_equal (UINT128 x,
2185                                              UINT128 y _EXC_FLAGS_PARAM
2186                                              _EXC_MASKS_PARAM
2187                                              _EXC_INFO_PARAM);
2188      extern int __bid128_signaling_less_unordered (UINT128 x,
2189                                                  UINT128 y
2190                                                  _EXC_FLAGS_PARAM
2191                                                  _EXC_MASKS_PARAM
2192                                                  _EXC_INFO_PARAM);
2193      extern int __bid128_signaling_not_equal (UINT128 x,
2194                                             UINT128 y _EXC_FLAGS_PARAM
2195                                             _EXC_MASKS_PARAM
2196                                             _EXC_INFO_PARAM);
2197      extern int __bid128_signaling_not_greater (UINT128 x,
2198                                               UINT128 y _EXC_FLAGS_PARAM
2199                                               _EXC_MASKS_PARAM
2200                                               _EXC_INFO_PARAM);
2201      extern int __bid128_signaling_not_less (UINT128 x,
2202                                            UINT128 y _EXC_FLAGS_PARAM
2203                                            _EXC_MASKS_PARAM
2204                                            _EXC_INFO_PARAM);
2205      extern int __bid128_signaling_ordered (UINT128 x,
2206                                           UINT128 y _EXC_FLAGS_PARAM
2207                                           _EXC_MASKS_PARAM
2208                                           _EXC_INFO_PARAM);
2209      extern int __bid128_signaling_unordered (UINT128 x,
2210                                             UINT128 y _EXC_FLAGS_PARAM
2211                                             _EXC_MASKS_PARAM
2212                                             _EXC_INFO_PARAM);
2213
2214      extern UINT64 __bid64_round_integral_exact (UINT64 x
2215                                                _RND_MODE_PARAM
2216                                                _EXC_FLAGS_PARAM
2217                                                _EXC_MASKS_PARAM
2218                                                _EXC_INFO_PARAM);
2219      extern UINT64 __bid64_round_integral_nearest_even (UINT64 x
2220                                                       _EXC_FLAGS_PARAM
2221                                                       _EXC_MASKS_PARAM
2222                                                       _EXC_INFO_PARAM);
2223      extern UINT64 __bid64_round_integral_negative (UINT64 x
2224                                                   _EXC_FLAGS_PARAM
2225                                                   _EXC_MASKS_PARAM
2226                                                   _EXC_INFO_PARAM);
2227      extern UINT64 __bid64_round_integral_positive (UINT64 x
2228                                                   _EXC_FLAGS_PARAM
2229                                                   _EXC_MASKS_PARAM
2230                                                   _EXC_INFO_PARAM);
2231      extern UINT64 __bid64_round_integral_zero (UINT64 x _EXC_FLAGS_PARAM
2232                                               _EXC_MASKS_PARAM
2233                                               _EXC_INFO_PARAM);
2234      extern UINT64 __bid64_round_integral_nearest_away (UINT64 x
2235                                                       _EXC_FLAGS_PARAM
2236                                                       _EXC_MASKS_PARAM
2237                                                       _EXC_INFO_PARAM);
2238
2239      extern UINT128 __bid128_round_integral_exact (UINT128 x
2240                                                  _RND_MODE_PARAM
2241                                                  _EXC_FLAGS_PARAM
2242                                                  _EXC_MASKS_PARAM
2243                                                  _EXC_INFO_PARAM);
2244      extern UINT128 __bid128_round_integral_nearest_even (UINT128 x
2245                                                         _EXC_FLAGS_PARAM
2246                                                         _EXC_MASKS_PARAM
2247                                                         _EXC_INFO_PARAM);
2248      extern UINT128 __bid128_round_integral_negative (UINT128 x
2249                                                     _EXC_FLAGS_PARAM
2250                                                     _EXC_MASKS_PARAM
2251                                                     _EXC_INFO_PARAM);
2252      extern UINT128 __bid128_round_integral_positive (UINT128 x
2253                                                     _EXC_FLAGS_PARAM
2254                                                     _EXC_MASKS_PARAM
2255                                                     _EXC_INFO_PARAM);
2256      extern UINT128 __bid128_round_integral_zero (UINT128 x
2257                                                 _EXC_FLAGS_PARAM
2258                                                 _EXC_MASKS_PARAM
2259                                                 _EXC_INFO_PARAM);
2260      extern UINT128 __bid128_round_integral_nearest_away (UINT128 x
2261                                                         _EXC_FLAGS_PARAM
2262                                                         _EXC_MASKS_PARAM
2263                                                         _EXC_INFO_PARAM);
2264
2265      extern UINT64 __bid64_nextup (UINT64 x
2266                                  _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2267                                  _EXC_INFO_PARAM);
2268      extern UINT64 __bid64_nextdown (UINT64 x _EXC_FLAGS_PARAM
2269                                    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2270      extern UINT64 __bid64_nextafter (UINT64 x,
2271                                     UINT64 y _EXC_FLAGS_PARAM
2272                                     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2273
2274      extern UINT128 __bid128_nextup (UINT128 x
2275                                    _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2276                                    _EXC_INFO_PARAM);
2277      extern UINT128 __bid128_nextdown (UINT128 x _EXC_FLAGS_PARAM
2278                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2279      extern UINT128 __bid128_nextafter (UINT128 x,
2280                                       UINT128 y _EXC_FLAGS_PARAM
2281                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2282
2283      extern UINT64 __bid64_minnum (UINT64 x, UINT64 y);
2284      extern UINT64 __bid64_minnum_mag (UINT64 x, UINT64 y);
2285      extern UINT64 __bid64_maxnum (UINT64 x, UINT64 y);
2286      extern UINT64 __bid64_maxnum_mag (UINT64 x, UINT64 y);
2287
2288      extern UINT128 __bid128_minnum (UINT128 x, UINT128 y);
2289      extern UINT128 __bid128_minnum_mag (UINT128 x, UINT128 y);
2290      extern UINT128 __bid128_maxnum (UINT128 x, UINT128 y);
2291      extern UINT128 __bid128_maxnum_mag (UINT128 x, UINT128 y);
2292
2293      extern UINT64 __bid64_from_int32 (int x _EXC_MASKS_PARAM
2294                                      _EXC_INFO_PARAM);
2295      extern UINT64 __bid64_from_uint32 (unsigned int x _EXC_MASKS_PARAM
2296                                       _EXC_INFO_PARAM);
2297      extern UINT64 __bid64_from_int64 (SINT64 x _RND_MODE_PARAM
2298                                      _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2299                                      _EXC_INFO_PARAM);
2300      extern UINT64 __bid64_from_uint64 (UINT64 _RND_MODE_PARAM
2301                                       _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2302                                       _EXC_INFO_PARAM);
2303      extern UINT128 __bid128_from_int32 (int x _EXC_MASKS_PARAM
2304                                        _EXC_INFO_PARAM);
2305      extern UINT128 __bid128_from_uint32 (unsigned int x _EXC_MASKS_PARAM
2306                                         _EXC_INFO_PARAM);
2307      extern UINT128 __bid128_from_int64 (SINT64 x _EXC_MASKS_PARAM
2308                                        _EXC_INFO_PARAM);
2309      extern UINT128 __bid128_from_uint64 (UINT64 x _EXC_MASKS_PARAM
2310                                         _EXC_INFO_PARAM);
2311
2312      extern int __bid64_isSigned (UINT64 x _EXC_MASKS_PARAM
2313                                 _EXC_INFO_PARAM);
2314      extern int __bid64_isNormal (UINT64 x _EXC_MASKS_PARAM
2315                                 _EXC_INFO_PARAM);
2316      extern int __bid64_isSubnormal (UINT64 x _EXC_MASKS_PARAM
2317                                    _EXC_INFO_PARAM);
2318      extern int __bid64_isFinite (UINT64 x _EXC_MASKS_PARAM
2319                                 _EXC_INFO_PARAM);
2320      extern int __bid64_isFinite (UINT64 x _EXC_MASKS_PARAM
2321                                 _EXC_INFO_PARAM);
2322      extern int __bid64_isZero (UINT64 x _EXC_MASKS_PARAM
2323                               _EXC_INFO_PARAM);
2324      extern int __bid64_isInf (UINT64 x _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2325      extern int __bid64_isInf (UINT64 x _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2326      extern int __bid64_isSignaling (UINT64 x _EXC_MASKS_PARAM
2327                                    _EXC_INFO_PARAM);
2328      extern int __bid64_isCanonical (UINT64 x _EXC_MASKS_PARAM
2329                                    _EXC_INFO_PARAM);
2330      extern int __bid64_isNaN (UINT64 x _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2331      extern UINT64 __bid64_copy (UINT64 x _EXC_MASKS_PARAM
2332                                _EXC_INFO_PARAM);
2333      extern UINT64 __bid64_negate (UINT64 x _EXC_MASKS_PARAM
2334                                  _EXC_INFO_PARAM);
2335      extern UINT64 __bid64_abs (UINT64 x _EXC_MASKS_PARAM
2336                               _EXC_INFO_PARAM);
2337      extern UINT64 __bid64_copySign (UINT64 x,
2338                                    UINT64 y _EXC_MASKS_PARAM
2339                                    _EXC_INFO_PARAM);
2340      extern int __bid64_class (UINT64 x _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2341      extern int __bid64_sameQuantum (UINT64 x, UINT64 y
2342                                    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2343      extern int __bid64_totalOrder (UINT64 x, UINT64 y
2344                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2345      extern int __bid64_totalOrderMag (UINT64 x, UINT64 y
2346                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2347      extern int __bid64_radix (UINT64 x _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2348
2349      extern int __bid128_isSigned (UINT128 x _EXC_MASKS_PARAM
2350                                  _EXC_INFO_PARAM);
2351      extern int __bid128_isNormal (UINT128 x _EXC_MASKS_PARAM
2352                                  _EXC_INFO_PARAM);
2353      extern int __bid128_isSubnormal (UINT128 x _EXC_MASKS_PARAM
2354                                     _EXC_INFO_PARAM);
2355      extern int __bid128_isFinite (UINT128 x _EXC_MASKS_PARAM
2356                                  _EXC_INFO_PARAM);
2357      extern int __bid128_isFinite (UINT128 x _EXC_MASKS_PARAM
2358                                  _EXC_INFO_PARAM);
2359      extern int __bid128_isZero (UINT128 x _EXC_MASKS_PARAM
2360                                _EXC_INFO_PARAM);
2361      extern int __bid128_isInf (UINT128 x _EXC_MASKS_PARAM
2362                               _EXC_INFO_PARAM);
2363      extern int __bid128_isInf (UINT128 x _EXC_MASKS_PARAM
2364                               _EXC_INFO_PARAM);
2365      extern int __bid128_isSignaling (UINT128 x _EXC_MASKS_PARAM
2366                                     _EXC_INFO_PARAM);
2367      extern int __bid128_isCanonical (UINT128 x _EXC_MASKS_PARAM
2368                                     _EXC_INFO_PARAM);
2369      extern int __bid128_isNaN (UINT128 x _EXC_MASKS_PARAM
2370                               _EXC_INFO_PARAM);
2371      extern UINT128 __bid128_copy (UINT128 x _EXC_MASKS_PARAM
2372                                  _EXC_INFO_PARAM);
2373      extern UINT128 __bid128_negate (UINT128 x _EXC_MASKS_PARAM
2374                                    _EXC_INFO_PARAM);
2375      extern UINT128 __bid128_abs (UINT128 x _EXC_MASKS_PARAM
2376                                 _EXC_INFO_PARAM);
2377      extern UINT128 __bid128_copySign (UINT128 x,
2378                                      UINT128 y _EXC_MASKS_PARAM
2379                                      _EXC_INFO_PARAM);
2380      extern int __bid128_class (UINT128 x _EXC_MASKS_PARAM
2381                               _EXC_INFO_PARAM);
2382      extern int __bid128_sameQuantum (UINT128 x,
2383                                     UINT128 y _EXC_MASKS_PARAM
2384                                     _EXC_INFO_PARAM);
2385      extern int __bid128_totalOrder (UINT128 x,
2386                                    UINT128 y _EXC_MASKS_PARAM
2387                                    _EXC_INFO_PARAM);
2388      extern int __bid128_totalOrderMag (UINT128 x,
2389                                       UINT128 y _EXC_MASKS_PARAM
2390                                       _EXC_INFO_PARAM);
2391      extern int __bid128_radix (UINT128 x _EXC_MASKS_PARAM
2392                               _EXC_INFO_PARAM);
2393
2394      extern UINT64 __bid64_rem (UINT64 x, UINT64 y
2395                               _RND_MODE_PARAM _EXC_FLAGS_PARAM
2396                               _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2397      extern UINT64 __bid64_logb (UINT64 x _RND_MODE_PARAM _EXC_FLAGS_PARAM
2398                                _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2399      extern UINT64 __bid64_scalb (UINT64 x,
2400                                 int n _RND_MODE_PARAM _EXC_FLAGS_PARAM
2401                                 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2402
2403      extern UINT128 __bid128_rem (UINT128 x, UINT128 y
2404                                 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2405                                 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2406      extern UINT128 __bid128_logb (UINT128 x _RND_MODE_PARAM
2407                                  _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2408                                  _EXC_INFO_PARAM);
2409      extern UINT128 __bid128_scalb (UINT128 x,
2410                                   int n _RND_MODE_PARAM _EXC_FLAGS_PARAM
2411                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2412
2413      extern UINT64 __bid32_to_bid64 (UINT32 x _EXC_FLAGS_PARAM
2414                                  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2415      extern UINT128 __bid32_to_bid128 (UINT32 x _EXC_FLAGS_PARAM
2416                                  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2417      extern UINT128 __bid64_to_bid128 (UINT64 x _EXC_FLAGS_PARAM
2418                                  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2419      extern UINT32 __bid64_to_bid32 (UINT64 x
2420                                        _RND_MODE_PARAM _EXC_FLAGS_PARAM
2421                                        _EXC_MASKS_PARAM
2422                                        _EXC_INFO_PARAM);
2423      extern UINT32 __bid128_to_bid32 (UINT128 x _RND_MODE_PARAM
2424                                         _EXC_FLAGS_PARAM
2425                                         _EXC_MASKS_PARAM
2426                                         _EXC_INFO_PARAM);
2427      extern UINT64 __bid128_to_bid64 (UINT128 x _RND_MODE_PARAM
2428                                         _EXC_FLAGS_PARAM
2429                                         _EXC_MASKS_PARAM
2430                                         _EXC_INFO_PARAM);
2431
2432      extern void __bid64_to_string (char *ps, UINT64 x
2433                                   _RND_MODE_PARAM _EXC_FLAGS_PARAM
2434                                   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2435      extern UINT64 __bid64_from_string (char *ps _RND_MODE_PARAM
2436                                           _EXC_FLAGS_PARAM
2437                                           _EXC_MASKS_PARAM
2438                                           _EXC_INFO_PARAM);
2439      extern void __bid128_to_string (char *str,
2440                                    UINT128 x _RND_MODE_PARAM
2441                                    _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2442                                    _EXC_INFO_PARAM);
2443      extern UINT128 __bid128_from_string (char *ps _RND_MODE_PARAM
2444                                             _EXC_FLAGS_PARAM
2445                                             _EXC_MASKS_PARAM
2446                                             _EXC_INFO_PARAM);
2447
2448      extern UINT64 __bid64_quantize (UINT64 x, UINT64 y
2449                                        _RND_MODE_PARAM _EXC_FLAGS_PARAM
2450                                        _EXC_MASKS_PARAM
2451                                        _EXC_INFO_PARAM);
2452
2453      extern UINT128 __bid128_quantize (UINT128 x, UINT128 y
2454                                          _RND_MODE_PARAM
2455                                          _EXC_FLAGS_PARAM
2456                                          _EXC_MASKS_PARAM
2457                                          _EXC_INFO_PARAM);
2458
2459
2460      extern UINT32 __binary128_to_bid32 (_i_quad_t_ x
2461                                            _RND_MODE_PARAM
2462                                            _EXC_FLAGS_PARAM
2463                                            _EXC_MASKS_PARAM
2464                                            _EXC_INFO_PARAM);
2465
2466      extern UINT64 __binary128_to_bid64 (_i_quad_t_ x
2467                                            _RND_MODE_PARAM
2468                                            _EXC_FLAGS_PARAM
2469                                            _EXC_MASKS_PARAM
2470                                            _EXC_INFO_PARAM);
2471
2472      extern UINT128 __binary128_to_bid128 (_i_quad_t_ x
2473                                              _RND_MODE_PARAM
2474                                              _EXC_FLAGS_PARAM
2475                                              _EXC_MASKS_PARAM
2476                                              _EXC_INFO_PARAM);
2477
2478      extern UINT32 __binary64_to_bid32 (double x
2479                                           _RND_MODE_PARAM
2480                                           _EXC_FLAGS_PARAM
2481                                           _EXC_MASKS_PARAM
2482                                           _EXC_INFO_PARAM);
2483
2484      extern UINT64 __binary64_to_bid64 (double x
2485                                           _RND_MODE_PARAM
2486                                           _EXC_FLAGS_PARAM
2487                                           _EXC_MASKS_PARAM
2488                                           _EXC_INFO_PARAM);
2489
2490      extern UINT128 __binary64_to_bid128 (double x
2491                                             _RND_MODE_PARAM
2492                                             _EXC_FLAGS_PARAM
2493                                             _EXC_MASKS_PARAM
2494                                             _EXC_INFO_PARAM);
2495
2496      extern UINT32 __binary80_to_bid32 (long double x
2497                                           _RND_MODE_PARAM
2498                                           _EXC_FLAGS_PARAM
2499                                           _EXC_MASKS_PARAM
2500                                           _EXC_INFO_PARAM);
2501
2502      extern UINT64 __binary80_to_bid64 (long double x
2503                                           _RND_MODE_PARAM
2504                                           _EXC_FLAGS_PARAM
2505                                           _EXC_MASKS_PARAM
2506                                           _EXC_INFO_PARAM);
2507
2508      extern UINT128 __binary80_to_bid128 (long double x
2509                                             _RND_MODE_PARAM
2510                                             _EXC_FLAGS_PARAM
2511                                             _EXC_MASKS_PARAM
2512                                             _EXC_INFO_PARAM);
2513
2514      extern UINT32 __binary32_to_bid32 (float x
2515                                           _RND_MODE_PARAM
2516                                           _EXC_FLAGS_PARAM
2517                                           _EXC_MASKS_PARAM
2518                                           _EXC_INFO_PARAM);
2519
2520      extern UINT64 __binary32_to_bid64 (float x
2521                                           _RND_MODE_PARAM
2522                                           _EXC_FLAGS_PARAM
2523                                           _EXC_MASKS_PARAM
2524                                           _EXC_INFO_PARAM);
2525
2526      extern UINT128 __binary32_to_bid128 (float x
2527                                             _RND_MODE_PARAM
2528                                             _EXC_FLAGS_PARAM
2529                                             _EXC_MASKS_PARAM
2530                                             _EXC_INFO_PARAM);
2531
2532      extern float __bid128_to_binary32 (UINT128 x
2533                                       _RND_MODE_PARAM _EXC_FLAGS_PARAM
2534                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2535
2536      extern double __bid128_to_binary64 (UINT128 x
2537                                        _RND_MODE_PARAM _EXC_FLAGS_PARAM
2538                                        _EXC_MASKS_PARAM
2539                                        _EXC_INFO_PARAM);
2540
2541      extern long double __bid128_to_binary80 (UINT128 x
2542                                             _RND_MODE_PARAM
2543                                             _EXC_FLAGS_PARAM
2544                                             _EXC_MASKS_PARAM
2545                                             _EXC_INFO_PARAM);
2546
2547      extern _i_quad_t_ __bid128_to_binary128 (UINT128 x
2548                                       _RND_MODE_PARAM _EXC_FLAGS_PARAM
2549                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2550
2551      extern float __bid64_to_binary32 (UINT64 x
2552                                      _RND_MODE_PARAM _EXC_FLAGS_PARAM
2553                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2554
2555      extern double __bid64_to_binary64 (UINT64 x
2556                                       _RND_MODE_PARAM _EXC_FLAGS_PARAM
2557                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2558
2559      extern long double __bid64_to_binary80 (UINT64 x
2560                                            _RND_MODE_PARAM
2561                                            _EXC_FLAGS_PARAM
2562                                            _EXC_MASKS_PARAM
2563                                            _EXC_INFO_PARAM);
2564
2565      extern _i_quad_t_ __bid64_to_binary128 (UINT64 x
2566                                      _RND_MODE_PARAM _EXC_FLAGS_PARAM
2567                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2568
2569      extern float __bid32_to_binary32 (UINT32 x
2570                                      _RND_MODE_PARAM _EXC_FLAGS_PARAM
2571                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2572
2573      extern double __bid32_to_binary64 (UINT32 x
2574                                       _RND_MODE_PARAM _EXC_FLAGS_PARAM
2575                                       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2576
2577      extern long double __bid32_to_binary80 (UINT32 x
2578                                            _RND_MODE_PARAM
2579                                            _EXC_FLAGS_PARAM
2580                                            _EXC_MASKS_PARAM
2581                                            _EXC_INFO_PARAM);
2582
2583      extern _i_quad_t_ __bid32_to_binary128 (UINT32 x
2584                                      _RND_MODE_PARAM _EXC_FLAGS_PARAM
2585                                      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2586
2587      extern int __bid_is754 (void);
2588
2589      extern int __bid_is754R (void);
2590
2591      extern void __bid_lowerFlags (_IDEC_flags flagsmask _EXC_FLAGS_PARAM);
2592
2593      extern _IDEC_flags __bid_testFlags (_IDEC_flags flagsmask
2594                                    _EXC_FLAGS_PARAM);
2595
2596      extern _IDEC_flags __bid_testSavedFlags (_IDEC_flags savedflags,
2597                                         _IDEC_flags flagsmask);
2598
2599      extern void __bid_restoreFlags (_IDEC_flags flagsvalues,
2600                                _IDEC_flags flagsmask _EXC_FLAGS_PARAM);
2601
2602      extern _IDEC_flags __bid_saveFlags (_IDEC_flags flagsmask
2603                                    _EXC_FLAGS_PARAM);
2604
2605      extern _IDEC_flags __bid_saveFlags (_IDEC_flags flagsmask
2606                                    _EXC_FLAGS_PARAM);
2607
2608 #if !DECIMAL_GLOBAL_ROUNDING
2609      _IDEC_round __bid_getDecimalRoundingDirection (_IDEC_round rnd_mode);
2610 #else
2611      _IDEC_round __bid_getDecimalRoundingDirection (void);
2612 #endif
2613
2614 #if !DECIMAL_GLOBAL_ROUNDING
2615      _IDEC_round __bid_setDecimalRoundingDirection (_IDEC_round
2616                                               rounding_mode);
2617 #else
2618      void __bid_setDecimalRoundingDirection (_IDEC_round rounding_mode);
2619 #endif
2620
2621 #endif
2622
2623 // Internal Functions
2624
2625      extern void
2626        __bid_round64_2_18 (int q,
2627                      int x,
2628                      UINT64 C,
2629                      UINT64 * ptr_Cstar,
2630                      int *delta_exp,
2631                      int *ptr_is_midpoint_lt_even,
2632                      int *ptr_is_midpoint_gt_even,
2633                      int *ptr_is_inexact_lt_midpoint,
2634                      int *ptr_is_inexact_gt_midpoint);
2635
2636      extern void
2637        __bid_round128_19_38 (int q,
2638                        int x,
2639                        UINT128 C,
2640                        UINT128 * ptr_Cstar,
2641                        int *delta_exp,
2642                        int *ptr_is_midpoint_lt_even,
2643                        int *ptr_is_midpoint_gt_even,
2644                        int *ptr_is_inexact_lt_midpoint,
2645                        int *ptr_is_inexact_gt_midpoint);
2646
2647      extern void
2648        __bid_round192_39_57 (int q,
2649                        int x,
2650                        UINT192 C,
2651                        UINT192 * ptr_Cstar,
2652                        int *delta_exp,
2653                        int *ptr_is_midpoint_lt_even,
2654                        int *ptr_is_midpoint_gt_even,
2655                        int *ptr_is_inexact_lt_midpoint,
2656                        int *ptr_is_inexact_gt_midpoint);
2657
2658      extern void
2659        __bid_round256_58_76 (int q,
2660                        int x,
2661                        UINT256 C,
2662                        UINT256 * ptr_Cstar,
2663                        int *delta_exp,
2664                        int *ptr_is_midpoint_lt_even,
2665                        int *ptr_is_midpoint_gt_even,
2666                        int *ptr_is_inexact_lt_midpoint,
2667                        int *ptr_is_inexact_gt_midpoint);
2668
2669 #endif
2670
2671 // Prototypes for internal functions
2672 UINT64
2673 __bid_full_round64_remainder (UINT64 sign, int exponent, UINT128 P,
2674                               int extra_digits, UINT64 remainder_P,
2675                               int rounding_mode, unsigned *fpsc,
2676                               unsigned uf_status);