1 /* Copyright (C) 2007-2020 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 3, or (at your option) any later
8 version.
9 
10 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11 WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
13 for more details.
14 
15 Under Section 7 of GPL version 3, you are granted additional
16 permissions described in the GCC Runtime Library Exception, version
17 3.1, as published by the Free Software Foundation.
18 
19 You should have received a copy of the GNU General Public License and
20 a copy of the GCC Runtime Library Exception along with this program;
21 see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
22 <http://www.gnu.org/licenses/>.  */
23 
24 #ifndef _BID_FUNCTIONS_H
25 #define _BID_FUNCTIONS_H
26 
27 #ifdef IN_LIBGCC2
28 // When we are built as the part of the gcc runtime library, libgcc,
29 // we will use gcc types defined in bid_gcc_intrinsics.h.
30 #include "bid_gcc_intrinsics.h"
31 
32 #define ALIGN(n) __attribute__ ((aligned(n)))
33 #else
34 typedef char SINT8;
35 typedef unsigned char UINT8;
36 typedef unsigned UINT32;
37 typedef signed SINT32;
38 
39 #ifdef __GNUC__
40 #define __int64 long long
41 #endif
42 
43 #if __GNUC__ || defined LINUX || defined SUNOS
44 typedef unsigned long long UINT64;
45 typedef signed long long SINT64;
46 #else
47 typedef unsigned __int64 UINT64;
48 typedef signed __int64 SINT64;
49 #endif
50 
51 #if defined _MSC_VER
52 #if defined _M_IX86 && !defined __INTEL_COMPILER	// Win IA-32, MS compiler
53 #define ALIGN(n)
54 #else
55 #define ALIGN(n) __declspec(align(n))
56 #endif
57 #else
58 #define ALIGN(n) __attribute__ ((aligned(n)))
59 #endif
60 
61 // bid_gcc_intrinsics.h will also define this.
62 typedef
63 ALIGN (16)
64      struct {
65        UINT64 w[2];
66      } UINT128;
67 #endif
68 
69 
70 #if !defined _MSC_VER || defined __INTEL_COMPILER
71 #define __ENABLE_BINARY80__  1
72 #endif
73 
74 #ifndef HPUX_OS
75 #define BINARY80 long double
76 #define BINARY128 UINT128
77 #define SQRT80 sqrtl
78 #else
79 #define BINARY80 __float80
80 #define BINARY128 __float128
81 #define SQRT80 sqrtw
82 #endif
83 
84      typedef ALIGN (16)
85      struct {
86        UINT64 w[3];
87      } UINT192;
88      typedef ALIGN (16)
89      struct {
90        UINT64 w[4];
91      } UINT256;
92      typedef unsigned int FPSC;	// floating-point status and control
93 
94 // TYPE parameters
95 #define BID128_MAXDIGITS	34
96 #define BID64_MAXDIGITS		16
97 #define BID32_MAXDIGITS		7
98 
99 // rounding modes
100 #define ROUNDING_TO_NEAREST	0x00000
101 #define ROUNDING_DOWN		0x00001
102 #define ROUNDING_UP		0x00002
103 #define ROUNDING_TO_ZERO	0x00003
104 #define ROUNDING_TIES_AWAY      0x00004
105 
106 #define RMODE_MASK (ROUNDING_TO_NEAREST | ROUNDING_DOWN | ROUNDING_UP | ROUNDING_TO_ZERO | ROUNDING_TIES_AWAY)
107 
108 // status
109 #define FLAG_MASK	        0x0000003f
110 #define BID_IEEE_FLAGS		0x0000003d
111 #define EXACT_STATUS            0x00000000
112 #define INEXACT_EXCEPTION	0x00000020
113 #define UNDERFLOW_EXCEPTION	0x00000010
114 #define OVERFLOW_EXCEPTION	0x00000008
115 #define ZERO_DIVIDE_EXCEPTION	0x00000004
116 #define DENORMAL_EXCEPTION	0x00000002
117 #define INVALID_EXCEPTION	0x00000001
118 
119 #define MODE_MASK               0x00001f80
120 #define INEXACT_MODE            0x00001000
121 #define UNDERFLOW_MODE          0x00000800
122 #define OVERFLOW_MODE           0x00000400
123 #define ZERO_DIVIDE_MODE        0x00000200
124 #define DENORMAL_MODE           0x00000100
125 #define INVALID_MODE            0x00000080
126 
127 #if defined LINUX || defined __GLIBC__ || defined SUNOS
128 #define LX16  "%016llx"
129 #define LX    "%llx"
130 #define LD4   "%4llu"
131 #define LD16  "%016lld"
132 #define LD    "%lld"
133 #define LUD   "%llu"
134 #define LUD16 "%016llu"
135 #define X8    "%08x"
136 #define X4    "%04x"
137 
138 #define FMT_LLX16  "%016llx"
139 #define FMT_LLX    "%llx"
140 #define FMT_LLU4   "%4llu"
141 #define FMT_LLD16  "%016lld"
142 #define FMT_LLD    "%lld"
143 #define FMT_LLU    "%llu"
144 #define FMT_LLU16  "%016llu"
145 #define FMT_X8     "%08x"
146 #define FMT_X4     "%04x"
147 #else
148 #define LX16  "%016I64x"
149 #define LX    "%I64x"
150 #define LD16  "%016I64d"
151 #define LD4   "%4I64u"
152 #define LD    "%I64d"
153 #define LUD    "%I64u"
154 #define LUD16 "%016I64u"
155 #define X8    "%08x"
156 #define X4    "%04x"
157 
158 #define FMT_LLX16 "%016I64x"
159 #define FMT_LLX   "%I64x"
160 #define FMT_LLD16 "%016I64d"
161 #define FMT_LLU4  "%4I64u"
162 #define FMT_LLD   "%I64d"
163 #define FMT_LLU   "%I64u"
164 #define FMT_LLU16 "%016I64u"
165 #define FMT_X8    "%08x"
166 #define FMT_X4    "%04x"
167 #endif
168 
169 #define decNumberIsSNaN(dn)      (((dn)->bits&(DECSNAN))!=0)
170      int __signbitf (float);
171      int __signbit (double);
172 
173 #define __IMFC99MACRO_( __x__, __func__ ) \
174         (( sizeof( __x__ ) > sizeof( float )) \
175          ? __func__( (double)(__x__) ) \
176                 : __func__##f( (float)(__x__) ))
177 
178 #define signbit( __x__ )    __IMFC99MACRO_( __x__, __signbit )
179 
180 #if !defined(__INTEL_COMPILER)
181 
182 #define __fence
183 
184 #define isinf( __x__ )      __IMFC99MACRO_( __x__, __isinf )
185 #define isnan( __x__ )      __IMFC99MACRO_( __x__, __isnan )
186 
187      int __isnanf (float);
188      int __isnan (double);
189 
190      int __isinff (float);
191      int __isinf (double);
192 
193 #endif
194 
195 /* rounding modes */
196 // typedef unsigned int _IDEC_round;
197      extern _IDEC_round _IDEC_gblround;	// initialized to ROUNDING_TO_NEAREST
198 
199 /* exception flags */
200 // typedef unsigned int _IDEC_flags;  // could be a struct with diagnostic info
201      extern _IDEC_flags _IDEC_gblflags;	// initialized to EXACT_STATUS
202 
203 /* exception masks */
204      typedef unsigned int _IDEC_exceptionmasks;
205      extern _IDEC_exceptionmasks _IDEC_gblexceptionmasks;	// initialized to MODE_MASK
206 
207 #if DECIMAL_ALTERNATE_EXCEPTION_HANDLING
208 
209 /* exception information */
210 
211      typedef struct {
212        unsigned int inexact_result:1;
213        unsigned int underflow:1;
214        unsigned int overflow:1;
215        unsigned int zero_divide:1;
216        unsigned int invalid_operation:1;
217      } fpieee_exception_flags_t;
218 
219      typedef enum {
220        _fp_round_nearest,
221        _fp_round_minus_infinity,
222        _fp_round_plus_infinity,
223        _fp_round_chopped,
224        _fp_round_away
225      } fpieee_rounding_mode_t;
226 
227      typedef enum {
228        _fp_precision24,
229        _fp_precision63,
230        _fp_precision64,
231        _fp_precision7,
232        _fp_precision16,
233        _fp_precision34
234      } _fpieee_precision_t;
235 
236      typedef enum {
237        _fp_code_unspecified,
238        _fp_code_add,
239        _fp_code_subtract,
240        _fp_code_multiply,
241        _fp_code_divide,
242        _fp_code_square_root,
243        _fp_code_compare,
244        _fp_code_convert,
245        _fp_code_convert_to_integer_neareven,
246        _fp_code_convert_to_integer_down,
247        _fp_code_convert_to_integer_up,
248        _fp_code_convert_to_integer_truncate,
249        _fp_code_convert_to_integer_nearaway,
250        _fp_code_fma,
251        _fp_code_fmin,
252        _fp_code_fmax,
253        _fp_code_famin,
254        _fp_code_famax,
255        _fp_code_round_to_integral,
256        _fp_code_minnum,
257        _fp_code_maxnum,
258        _fp_code_minnummag,
259        _fp_code_maxnummag,
260        _fp_code_quantize,
261        _fp_code_logb,
262        _fp_code_scaleb,
263        _fp_code_remainder,
264        _fp_code_nextup,
265        _fp_code_nextdown,
266        _fp_code_nextafter,
267      } fp_operation_code_t;
268 
269      typedef enum {
270        _fp_compare_equal,
271        _fp_compare_greater,
272        _fp_compare_less,
273        _fp_compare_unordered
274      } fpieee_compare_result_t;
275 
276      typedef enum {
277        _fp_format_fp32,
278        _fp_format_fp64,
279        _fp_format_fp80,
280        _fp_format_fp128,
281        _fp_format_dec_fp32,
282        _fp_format_dec_fp64,
283        _fp_format_dec_fp128,
284        _fp_format_i8,		/* 8-bit integer */
285        _fp_format_i16,		/* 16-bit integer */
286        _fp_format_i32,		/* 32-bit integer */
287        _fp_format_i64,		/* 64-bit integer */
288        _fp_format_u8,		/* 8-bit unsigned integer */
289        _fp_format_u16,		/* 16-bit unsigned integer */
290        _fp_format_u32,		/* 32-bit unsigned integer */
291        _fp_format_u64,		/* 64-bit unsigned integer */
292        _fp_format_compare,	/* compare value format */
293        _fp_format_decimal_char,	/* decimal character */
294        _fp_format_string	/* string */
295      } fpieee_format_t;
296 
297      typedef struct {
298        unsigned short W[5];
299      } _float80_t;
300 
301      typedef struct {
302        unsigned int W[4];
303      } _float128_t;
304 
305      typedef struct {
306        union {
307 	 float fp32_value;
308 	 double fp64_value;
309 	 _float80_t fp80_value;
310 	 _float128_t fp128_value;
311 	 UINT32 decfp32_value;
312 	 UINT64 decfp64_value;
313 	 UINT128 decfp128_value;
314 	 char i8_value;
315 	 short i16_value;
316 	 int i32_value;
317 	 SINT64 i64_value;
318 	 unsigned char u8_value;
319 	 unsigned short u16_value;
320 	 unsigned int u32_value;
321 	 unsigned long u64_value;
322 	 fpieee_compare_result_t compare_value;
323 	 unsigned char s[256];
324        } value;
325        unsigned int operand_valid:1;
326        fpieee_format_t format:5;
327      } fpieee_value_t;
328 
329      typedef struct {
330        unsigned int rounding_mode:3;
331        unsigned int precision:3;
332        unsigned int operation:26;
333        fpieee_exception_flags_t cause;
334        fpieee_exception_flags_t enable;
335        fpieee_exception_flags_t status;
336        fpieee_value_t operand1;
337        fpieee_value_t operand2;
338        fpieee_value_t operand3;
339        fpieee_value_t result;
340      } _IDEC_excepthandling;
341      extern _IDEC_excepthandling _IDEC_glbexcepthandling;
342 
343 #endif
344 
345 #if DECIMAL_CALL_BY_REFERENCE
346 
347      extern void bid_to_dpd32 (UINT32 * pres, UINT32 * px);
348      extern void bid_to_dpd64 (UINT64 * pres, UINT64 * px);
349      extern void bid_to_dpd128 (UINT128 * pres, UINT128 * px);
350      extern void dpd_to_bid32 (UINT32 * pres, UINT32 * px);
351      extern void dpd_to_bid64 (UINT64 * pres, UINT64 * px);
352      extern void dpd_to_bid128 (UINT128 * pres, UINT128 * px);
353 
354      extern void bid128dd_add (UINT128 * pres, UINT64 * px,
355 			       UINT64 * py
356 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
357 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
358      extern void bid128dq_add (UINT128 * pres, UINT64 * px,
359 			       UINT128 * py
360 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
361 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
362      extern void bid128qd_add (UINT128 * pres, UINT128 * px,
363 			       UINT64 * py
364 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
365 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
366      extern void bid128_add (UINT128 * pres, UINT128 * px,
367 			     UINT128 *
368 			     py _RND_MODE_PARAM _EXC_FLAGS_PARAM
369 			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
370      extern void bid128dd_sub (UINT128 * pres, UINT64 * px,
371 			       UINT64 * py
372 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
373 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
374      extern void bid128dq_sub (UINT128 * pres, UINT64 * px,
375 			       UINT128 * py
376 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
377 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
378      extern void bid128qd_sub (UINT128 * pres, UINT128 * px,
379 			       UINT64 * py
380 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
381 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
382      extern void bid128_sub (UINT128 * pres, UINT128 * px,
383 			     UINT128 *
384 			     py _RND_MODE_PARAM _EXC_FLAGS_PARAM
385 			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
386      extern void bid128dd_mul (UINT128 * pres, UINT64 * px,
387 			       UINT64 * py
388 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
389 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
390      extern void bid128dq_mul (UINT128 * pres, UINT64 * px,
391 			       UINT128 * py
392 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
393 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
394      extern void bid128qd_mul (UINT128 * pres, UINT128 * px,
395 			       UINT64 * py
396 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
397 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
398      extern void bid128_mul (UINT128 * pres, UINT128 * px,
399 			     UINT128 * py
400 			     _RND_MODE_PARAM _EXC_FLAGS_PARAM
401 			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
402      extern void bid128_div (UINT128 * pres, UINT128 * px,
403 			     UINT128 *
404 			     py _RND_MODE_PARAM _EXC_FLAGS_PARAM
405 			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
406      extern void bid128dd_div (UINT128 * pres, UINT64 * px,
407 			       UINT64 * py
408 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
409 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
410      extern void bid128dq_div (UINT128 * pres, UINT64 * px,
411 			       UINT128 * py
412 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
413 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
414      extern void bid128qd_div (UINT128 * pres, UINT128 * px,
415 			       UINT64 * py
416 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
417 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
418      extern void bid128_fma (UINT128 * pres, UINT128 * px,
419 			     UINT128 * py, UINT128 * pz
420 			     _RND_MODE_PARAM _EXC_FLAGS_PARAM
421 			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
422      extern void bid128ddd_fma (UINT128 * pres, UINT64 * px,
423 				UINT64 * py, UINT64 * pz
424 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
425 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
426      extern void bid128ddq_fma (UINT128 * pres, UINT64 * px,
427 				UINT64 * py, UINT128 * pz
428 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
429 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
430      extern void bid128dqd_fma (UINT128 * pres, UINT64 * px,
431 				UINT128 * py, UINT64 * pz
432 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
433 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
434      extern void bid128dqq_fma (UINT128 * pres, UINT64 * px,
435 				UINT128 * py, UINT128 * pz
436 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
437 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
438      extern void bid128qdd_fma (UINT128 * pres, UINT128 * px,
439 				UINT64 * py, UINT64 * pz
440 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
441 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
442      extern void bid128qdq_fma (UINT128 * pres, UINT128 * px,
443 				UINT64 * py, UINT128 * pz
444 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
445 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
446      extern void bid128qqd_fma (UINT128 * pres, UINT128 * px,
447 				UINT128 * py, UINT64 * pz
448 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
449 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
450      // Note: bid128qqq_fma is represented by bid128_fma
451      // Note: bid64ddd_fma is represented by bid64_fma
452      extern void bid64ddq_fma (UINT64 * pres, UINT64 * px,
453 			       UINT64 * py, UINT128 * pz
454 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
455 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
456      extern void bid64dqd_fma (UINT64 * pres, UINT64 * px,
457 			       UINT128 * py, UINT64 * pz
458 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
459 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
460      extern void bid64dqq_fma (UINT64 * pres, UINT64 * px,
461 			       UINT128 * py, UINT128 * pz
462 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
463 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
464      extern void bid64qdd_fma (UINT64 * pres, UINT128 * px,
465 			       UINT64 * py, UINT64 * pz
466 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
467 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
468      extern void bid64qdq_fma (UINT64 * pres, UINT128 * px,
469 			       UINT64 * py, UINT128 * pz
470 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
471 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
472      extern void bid64qqd_fma (UINT64 * pres, UINT128 * px,
473 			       UINT128 * py, UINT64 * pz
474 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
475 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
476      extern void bid64qqq_fma (UINT64 * pres, UINT128 * px,
477 			       UINT128 * py, UINT128 * pz
478 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
479 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
480 
481      extern void bid128_sqrt (UINT128 * pres,
482 			      UINT128 *
483 			      px _RND_MODE_PARAM _EXC_FLAGS_PARAM
484 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
485      extern void bid128d_sqrt (UINT128 * pres, UINT64 * px
486 			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
487 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
488 
489      extern void bid64_add (UINT64 * pres, UINT64 * px,
490 			    UINT64 *
491 			    py _RND_MODE_PARAM _EXC_FLAGS_PARAM
492 			    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
493      extern void bid64dq_add (UINT64 * pres, UINT64 * px,
494 			      UINT128 * py
495 			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
496 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
497      extern void bid64qd_add (UINT64 * pres, UINT128 * px,
498 			      UINT64 * py
499 			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
500 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
501      extern void bid64qq_add (UINT64 * pres, UINT128 * px,
502 			      UINT128 * py
503 			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
504 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
505      extern void bid64_sub (UINT64 * pres, UINT64 * px,
506 			    UINT64 *
507 			    py _RND_MODE_PARAM _EXC_FLAGS_PARAM
508 			    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
509      extern void bid64dq_sub (UINT64 * pres, UINT64 * px,
510 			      UINT128 * py
511 			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
512 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
513      extern void bid64qd_sub (UINT64 * pres, UINT128 * px,
514 			      UINT64 * py
515 			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
516 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
517      extern void bid64qq_sub (UINT64 * pres, UINT128 * px,
518 			      UINT128 * py
519 			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
520 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
521      extern void bid64_mul (UINT64 * pres, UINT64 * px,
522 			    UINT64 * py
523 			    _RND_MODE_PARAM _EXC_FLAGS_PARAM
524 			    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
525      extern void bid64dq_mul (UINT64 * pres, UINT64 * px,
526 			      UINT128 * py
527 			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
528 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
529      extern void bid64qd_mul (UINT64 * pres, UINT128 * px,
530 			      UINT64 * py
531 			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
532 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
533      extern void bid64qq_mul (UINT64 * pres, UINT128 * px,
534 			      UINT128 * py
535 			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
536 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
537      extern void bid64_div (UINT64 * pres, UINT64 * px,
538 			    UINT64 *
539 			    py _RND_MODE_PARAM _EXC_FLAGS_PARAM
540 			    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
541      extern void bid64dq_div (UINT64 * pres, UINT64 * px,
542 			      UINT128 * py
543 			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
544 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
545      extern void bid64qd_div (UINT64 * pres, UINT128 * px,
546 			      UINT64 * py
547 			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
548 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
549      extern void bid64qq_div (UINT64 * pres, UINT128 * px,
550 			      UINT128 * py
551 			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
552 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
553      extern void bid64_fma (UINT64 * pres, UINT64 * px,
554 			    UINT64 * py,
555 			    UINT64 *
556 			    pz _RND_MODE_PARAM _EXC_FLAGS_PARAM
557 			    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
558      extern void bid64_sqrt (UINT64 * pres,
559 			     UINT64 *
560 			     px _RND_MODE_PARAM _EXC_FLAGS_PARAM
561 			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
562      extern void bid64q_sqrt (UINT64 * pres, UINT128 * px
563 			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
564 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
565 
566      extern void bid128_to_int8_rnint (char *pres,
567 				       UINT128 *
568 				       px _EXC_FLAGS_PARAM
569 				       _EXC_MASKS_PARAM
570 				       _EXC_INFO_PARAM);
571      extern void bid128_to_int8_xrnint (char *pres,
572 					UINT128 *
573 					px _EXC_FLAGS_PARAM
574 					_EXC_MASKS_PARAM
575 					_EXC_INFO_PARAM);
576      extern void bid128_to_int8_rninta (char *pres,
577 					UINT128 *
578 					px _EXC_FLAGS_PARAM
579 					_EXC_MASKS_PARAM
580 					_EXC_INFO_PARAM);
581      extern void bid128_to_int8_xrninta (char *pres,
582 					 UINT128 *
583 					 px _EXC_FLAGS_PARAM
584 					 _EXC_MASKS_PARAM
585 					 _EXC_INFO_PARAM);
586      extern void bid128_to_int8_int (char *pres,
587 				     UINT128 *
588 				     px _EXC_FLAGS_PARAM
589 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
590      extern void bid128_to_int8_xint (char *pres,
591 				      UINT128 *
592 				      px _EXC_FLAGS_PARAM
593 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
594      extern void bid128_to_int8_floor (char *pres,
595 				       UINT128 *
596 				       px _EXC_FLAGS_PARAM
597 				       _EXC_MASKS_PARAM
598 				       _EXC_INFO_PARAM);
599      extern void bid128_to_int8_xfloor (char *pres,
600 					UINT128 *
601 					px _EXC_FLAGS_PARAM
602 					_EXC_MASKS_PARAM
603 					_EXC_INFO_PARAM);
604      extern void bid128_to_int8_ceil (char *pres,
605 				      UINT128 *
606 				      px _EXC_FLAGS_PARAM
607 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
608      extern void bid128_to_int8_xceil (char *pres,
609 				       UINT128 *
610 				       px _EXC_FLAGS_PARAM
611 				       _EXC_MASKS_PARAM
612 				       _EXC_INFO_PARAM);
613      extern void bid128_to_int16_rnint (short *pres,
614 					UINT128 *
615 					px _EXC_FLAGS_PARAM
616 					_EXC_MASKS_PARAM
617 					_EXC_INFO_PARAM);
618      extern void bid128_to_int16_xrnint (short *pres,
619 					 UINT128 *
620 					 px _EXC_FLAGS_PARAM
621 					 _EXC_MASKS_PARAM
622 					 _EXC_INFO_PARAM);
623      extern void bid128_to_int16_rninta (short *pres,
624 					 UINT128 *
625 					 px _EXC_FLAGS_PARAM
626 					 _EXC_MASKS_PARAM
627 					 _EXC_INFO_PARAM);
628      extern void bid128_to_int16_xrninta (short *pres,
629 					  UINT128 *
630 					  px _EXC_FLAGS_PARAM
631 					  _EXC_MASKS_PARAM
632 					  _EXC_INFO_PARAM);
633      extern void bid128_to_int16_int (short *pres,
634 				      UINT128 *
635 				      px _EXC_FLAGS_PARAM
636 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
637      extern void bid128_to_int16_xint (short *pres,
638 				       UINT128 *
639 				       px _EXC_FLAGS_PARAM
640 				       _EXC_MASKS_PARAM
641 				       _EXC_INFO_PARAM);
642      extern void bid128_to_int16_floor (short *pres,
643 					UINT128 *
644 					px _EXC_FLAGS_PARAM
645 					_EXC_MASKS_PARAM
646 					_EXC_INFO_PARAM);
647      extern void bid128_to_int16_xfloor (short *pres,
648 					 UINT128 *
649 					 px _EXC_FLAGS_PARAM
650 					 _EXC_MASKS_PARAM
651 					 _EXC_INFO_PARAM);
652      extern void bid128_to_int16_ceil (short *pres,
653 				       UINT128 *
654 				       px _EXC_FLAGS_PARAM
655 				       _EXC_MASKS_PARAM
656 				       _EXC_INFO_PARAM);
657      extern void bid128_to_int16_xceil (short *pres,
658 					UINT128 *
659 					px _EXC_FLAGS_PARAM
660 					_EXC_MASKS_PARAM
661 					_EXC_INFO_PARAM);
662      extern void bid128_to_uint8_rnint (unsigned char *pres,
663 					UINT128 *
664 					px _EXC_FLAGS_PARAM
665 					_EXC_MASKS_PARAM
666 					_EXC_INFO_PARAM);
667      extern void bid128_to_uint8_xrnint (unsigned char *pres,
668 					 UINT128 *
669 					 px _EXC_FLAGS_PARAM
670 					 _EXC_MASKS_PARAM
671 					 _EXC_INFO_PARAM);
672      extern void bid128_to_uint8_rninta (unsigned char *pres,
673 					 UINT128 *
674 					 px _EXC_FLAGS_PARAM
675 					 _EXC_MASKS_PARAM
676 					 _EXC_INFO_PARAM);
677      extern void bid128_to_uint8_xrninta (unsigned char *pres,
678 					  UINT128 *
679 					  px _EXC_FLAGS_PARAM
680 					  _EXC_MASKS_PARAM
681 					  _EXC_INFO_PARAM);
682      extern void bid128_to_uint8_int (unsigned char *pres,
683 				      UINT128 *
684 				      px _EXC_FLAGS_PARAM
685 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
686      extern void bid128_to_uint8_xint (unsigned char *pres,
687 				       UINT128 *
688 				       px _EXC_FLAGS_PARAM
689 				       _EXC_MASKS_PARAM
690 				       _EXC_INFO_PARAM);
691      extern void bid128_to_uint8_floor (unsigned char *pres,
692 					UINT128 *
693 					px _EXC_FLAGS_PARAM
694 					_EXC_MASKS_PARAM
695 					_EXC_INFO_PARAM);
696      extern void bid128_to_uint8_xfloor (unsigned char *pres,
697 					 UINT128 *
698 					 px _EXC_FLAGS_PARAM
699 					 _EXC_MASKS_PARAM
700 					 _EXC_INFO_PARAM);
701      extern void bid128_to_uint8_ceil (unsigned char *pres,
702 				       UINT128 *
703 				       px _EXC_FLAGS_PARAM
704 				       _EXC_MASKS_PARAM
705 				       _EXC_INFO_PARAM);
706      extern void bid128_to_uint8_xceil (unsigned char *pres,
707 					UINT128 *
708 					px _EXC_FLAGS_PARAM
709 					_EXC_MASKS_PARAM
710 					_EXC_INFO_PARAM);
711      extern void bid128_to_uint16_rnint (unsigned short *pres,
712 					 UINT128 *
713 					 px _EXC_FLAGS_PARAM
714 					 _EXC_MASKS_PARAM
715 					 _EXC_INFO_PARAM);
716      extern void bid128_to_uint16_xrnint (unsigned short *pres,
717 					  UINT128 *
718 					  px _EXC_FLAGS_PARAM
719 					  _EXC_MASKS_PARAM
720 					  _EXC_INFO_PARAM);
721      extern void bid128_to_uint16_rninta (unsigned short *pres,
722 					  UINT128 *
723 					  px _EXC_FLAGS_PARAM
724 					  _EXC_MASKS_PARAM
725 					  _EXC_INFO_PARAM);
726      extern void bid128_to_uint16_xrninta (unsigned short *pres,
727 					   UINT128 *
728 					   px _EXC_FLAGS_PARAM
729 					   _EXC_MASKS_PARAM
730 					   _EXC_INFO_PARAM);
731      extern void bid128_to_uint16_int (unsigned short *pres,
732 				       UINT128 *
733 				       px _EXC_FLAGS_PARAM
734 				       _EXC_MASKS_PARAM
735 				       _EXC_INFO_PARAM);
736      extern void bid128_to_uint16_xint (unsigned short *pres,
737 					UINT128 *
738 					px _EXC_FLAGS_PARAM
739 					_EXC_MASKS_PARAM
740 					_EXC_INFO_PARAM);
741      extern void bid128_to_uint16_floor (unsigned short *pres,
742 					 UINT128 *
743 					 px _EXC_FLAGS_PARAM
744 					 _EXC_MASKS_PARAM
745 					 _EXC_INFO_PARAM);
746      extern void bid128_to_uint16_xfloor (unsigned short *pres,
747 					  UINT128 *
748 					  px _EXC_FLAGS_PARAM
749 					  _EXC_MASKS_PARAM
750 					  _EXC_INFO_PARAM);
751      extern void bid128_to_uint16_ceil (unsigned short *pres,
752 					UINT128 *
753 					px _EXC_FLAGS_PARAM
754 					_EXC_MASKS_PARAM
755 					_EXC_INFO_PARAM);
756      extern void bid128_to_uint16_xceil (unsigned short *pres,
757 					 UINT128 *
758 					 px _EXC_FLAGS_PARAM
759 					 _EXC_MASKS_PARAM
760 					 _EXC_INFO_PARAM);
761      extern void bid128_to_int32_rnint (int *pres,
762 					UINT128 *
763 					px _EXC_FLAGS_PARAM
764 					_EXC_MASKS_PARAM
765 					_EXC_INFO_PARAM);
766      extern void bid128_to_int32_xrnint (int *pres,
767 					 UINT128 *
768 					 px _EXC_FLAGS_PARAM
769 					 _EXC_MASKS_PARAM
770 					 _EXC_INFO_PARAM);
771      extern void bid128_to_int32_rninta (int *pres,
772 					 UINT128 *
773 					 px _EXC_FLAGS_PARAM
774 					 _EXC_MASKS_PARAM
775 					 _EXC_INFO_PARAM);
776      extern void bid128_to_int32_xrninta (int *pres,
777 					  UINT128 *
778 					  px _EXC_FLAGS_PARAM
779 					  _EXC_MASKS_PARAM
780 					  _EXC_INFO_PARAM);
781      extern void bid128_to_int32_int (int *pres,
782 				      UINT128 *
783 				      px _EXC_FLAGS_PARAM
784 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
785      extern void bid128_to_int32_xint (int *pres,
786 				       UINT128 *
787 				       px _EXC_FLAGS_PARAM
788 				       _EXC_MASKS_PARAM
789 				       _EXC_INFO_PARAM);
790      extern void bid128_to_int32_floor (int *pres,
791 					UINT128 *
792 					px _EXC_FLAGS_PARAM
793 					_EXC_MASKS_PARAM
794 					_EXC_INFO_PARAM);
795      extern void bid128_to_int32_xfloor (int *pres,
796 					 UINT128 *
797 					 px _EXC_FLAGS_PARAM
798 					 _EXC_MASKS_PARAM
799 					 _EXC_INFO_PARAM);
800      extern void bid128_to_int32_ceil (int *pres,
801 				       UINT128 *
802 				       px _EXC_FLAGS_PARAM
803 				       _EXC_MASKS_PARAM
804 				       _EXC_INFO_PARAM);
805      extern void bid128_to_int32_xceil (int *pres,
806 					UINT128 *
807 					px _EXC_FLAGS_PARAM
808 					_EXC_MASKS_PARAM
809 					_EXC_INFO_PARAM);
810      extern void bid128_to_uint32_rnint (unsigned int *pres,
811 					 UINT128 *
812 					 px _EXC_FLAGS_PARAM
813 					 _EXC_MASKS_PARAM
814 					 _EXC_INFO_PARAM);
815      extern void bid128_to_uint32_xrnint (unsigned int *pres,
816 					  UINT128 *
817 					  px _EXC_FLAGS_PARAM
818 					  _EXC_MASKS_PARAM
819 					  _EXC_INFO_PARAM);
820      extern void bid128_to_uint32_rninta (unsigned int *pres,
821 					  UINT128 *
822 					  px _EXC_FLAGS_PARAM
823 					  _EXC_MASKS_PARAM
824 					  _EXC_INFO_PARAM);
825      extern void bid128_to_uint32_xrninta (unsigned int *pres,
826 					   UINT128 *
827 					   px _EXC_FLAGS_PARAM
828 					   _EXC_MASKS_PARAM
829 					   _EXC_INFO_PARAM);
830      extern void bid128_to_uint32_int (unsigned int *pres,
831 				       UINT128 *
832 				       px _EXC_FLAGS_PARAM
833 				       _EXC_MASKS_PARAM
834 				       _EXC_INFO_PARAM);
835      extern void bid128_to_uint32_xint (unsigned int *pres,
836 					UINT128 *
837 					px _EXC_FLAGS_PARAM
838 					_EXC_MASKS_PARAM
839 					_EXC_INFO_PARAM);
840      extern void bid128_to_uint32_floor (unsigned int *pres,
841 					 UINT128 *
842 					 px _EXC_FLAGS_PARAM
843 					 _EXC_MASKS_PARAM
844 					 _EXC_INFO_PARAM);
845      extern void bid128_to_uint32_xfloor (unsigned int *pres,
846 					  UINT128 *
847 					  px _EXC_FLAGS_PARAM
848 					  _EXC_MASKS_PARAM
849 					  _EXC_INFO_PARAM);
850      extern void bid128_to_uint32_ceil (unsigned int *pres,
851 					UINT128 *
852 					px _EXC_FLAGS_PARAM
853 					_EXC_MASKS_PARAM
854 					_EXC_INFO_PARAM);
855      extern void bid128_to_uint32_xceil (unsigned int *pres,
856 					 UINT128 *
857 					 px _EXC_FLAGS_PARAM
858 					 _EXC_MASKS_PARAM
859 					 _EXC_INFO_PARAM);
860      extern void bid128_to_int64_rnint (SINT64 * pres,
861 					UINT128 *
862 					px _EXC_FLAGS_PARAM
863 					_EXC_MASKS_PARAM
864 					_EXC_INFO_PARAM);
865      extern void bid128_to_int64_xrnint (SINT64 * pres,
866 					 UINT128 *
867 					 px _EXC_FLAGS_PARAM
868 					 _EXC_MASKS_PARAM
869 					 _EXC_INFO_PARAM);
870      extern void bid128_to_int64_rninta (SINT64 * pres,
871 					 UINT128 *
872 					 px _EXC_FLAGS_PARAM
873 					 _EXC_MASKS_PARAM
874 					 _EXC_INFO_PARAM);
875      extern void bid128_to_int64_xrninta (SINT64 * pres,
876 					  UINT128 *
877 					  px _EXC_FLAGS_PARAM
878 					  _EXC_MASKS_PARAM
879 					  _EXC_INFO_PARAM);
880      extern void bid128_to_int64_int (SINT64 * pres,
881 				      UINT128 *
882 				      px _EXC_FLAGS_PARAM
883 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
884      extern void bid128_to_int64_xint (SINT64 * pres,
885 				       UINT128 *
886 				       px _EXC_FLAGS_PARAM
887 				       _EXC_MASKS_PARAM
888 				       _EXC_INFO_PARAM);
889      extern void bid128_to_int64_floor (SINT64 * pres,
890 					UINT128 *
891 					px _EXC_FLAGS_PARAM
892 					_EXC_MASKS_PARAM
893 					_EXC_INFO_PARAM);
894      extern void bid128_to_int64_xfloor (SINT64 * pres,
895 					 UINT128 *
896 					 px _EXC_FLAGS_PARAM
897 					 _EXC_MASKS_PARAM
898 					 _EXC_INFO_PARAM);
899      extern void bid128_to_int64_ceil (SINT64 * pres,
900 				       UINT128 *
901 				       px _EXC_FLAGS_PARAM
902 				       _EXC_MASKS_PARAM
903 				       _EXC_INFO_PARAM);
904      extern void bid128_to_int64_xceil (SINT64 * pres,
905 					UINT128 *
906 					px _EXC_FLAGS_PARAM
907 					_EXC_MASKS_PARAM
908 					_EXC_INFO_PARAM);
909      extern void bid128_to_uint64_rnint (UINT64 * pres,
910 					 UINT128 *
911 					 px _EXC_FLAGS_PARAM
912 					 _EXC_MASKS_PARAM
913 					 _EXC_INFO_PARAM);
914      extern void bid128_to_uint64_xrnint (UINT64 * pres,
915 					  UINT128 *
916 					  px _EXC_FLAGS_PARAM
917 					  _EXC_MASKS_PARAM
918 					  _EXC_INFO_PARAM);
919      extern void bid128_to_uint64_rninta (UINT64 * pres,
920 					  UINT128 *
921 					  px _EXC_FLAGS_PARAM
922 					  _EXC_MASKS_PARAM
923 					  _EXC_INFO_PARAM);
924      extern void bid128_to_uint64_xrninta (UINT64 * pres,
925 					   UINT128 *
926 					   px _EXC_FLAGS_PARAM
927 					   _EXC_MASKS_PARAM
928 					   _EXC_INFO_PARAM);
929      extern void bid128_to_uint64_int (UINT64 * pres,
930 				       UINT128 *
931 				       px _EXC_FLAGS_PARAM
932 				       _EXC_MASKS_PARAM
933 				       _EXC_INFO_PARAM);
934      extern void bid128_to_uint64_xint (UINT64 * pres,
935 					UINT128 *
936 					px _EXC_FLAGS_PARAM
937 					_EXC_MASKS_PARAM
938 					_EXC_INFO_PARAM);
939      extern void bid128_to_uint64_floor (UINT64 * pres,
940 					 UINT128 *
941 					 px _EXC_FLAGS_PARAM
942 					 _EXC_MASKS_PARAM
943 					 _EXC_INFO_PARAM);
944      extern void bid128_to_uint64_xfloor (UINT64 * pres,
945 					  UINT128 *
946 					  px _EXC_FLAGS_PARAM
947 					  _EXC_MASKS_PARAM
948 					  _EXC_INFO_PARAM);
949      extern void bid128_to_uint64_ceil (UINT64 * pres,
950 					UINT128 *
951 					px _EXC_FLAGS_PARAM
952 					_EXC_MASKS_PARAM
953 					_EXC_INFO_PARAM);
954      extern void bid128_to_uint64_xceil (UINT64 * pres,
955 					 UINT128 *
956 					 px _EXC_FLAGS_PARAM
957 					 _EXC_MASKS_PARAM
958 					 _EXC_INFO_PARAM);
959      extern void bid64_to_int32_rnint (int *pres,
960 				       UINT64 *
961 				       px _EXC_FLAGS_PARAM
962 				       _EXC_MASKS_PARAM
963 				       _EXC_INFO_PARAM);
964      extern void bid64_to_int32_xrnint (int *pres,
965 					UINT64 *
966 					px _EXC_FLAGS_PARAM
967 					_EXC_MASKS_PARAM
968 					_EXC_INFO_PARAM);
969      extern void bid64_to_int32_rninta (int *pres,
970 					UINT64 *
971 					px _EXC_FLAGS_PARAM
972 					_EXC_MASKS_PARAM
973 					_EXC_INFO_PARAM);
974      extern void bid64_to_int32_xrninta (int *pres,
975 					 UINT64 *
976 					 px _EXC_FLAGS_PARAM
977 					 _EXC_MASKS_PARAM
978 					 _EXC_INFO_PARAM);
979      extern void bid64_to_int32_int (int *pres,
980 				     UINT64 *
981 				     px _EXC_FLAGS_PARAM
982 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
983      extern void bid64_to_int32_xint (int *pres,
984 				      UINT64 *
985 				      px _EXC_FLAGS_PARAM
986 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
987      extern void bid64_to_int32_floor (int *pres,
988 				       UINT64 *
989 				       px _EXC_FLAGS_PARAM
990 				       _EXC_MASKS_PARAM
991 				       _EXC_INFO_PARAM);
992      extern void bid64_to_int32_xfloor (int *pres,
993 					UINT64 *
994 					px _EXC_FLAGS_PARAM
995 					_EXC_MASKS_PARAM
996 					_EXC_INFO_PARAM);
997      extern void bid64_to_int32_ceil (int *pres,
998 				      UINT64 *
999 				      px _EXC_FLAGS_PARAM
1000 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1001      extern void bid64_to_int32_xceil (int *pres,
1002 				       UINT64 *
1003 				       px _EXC_FLAGS_PARAM
1004 				       _EXC_MASKS_PARAM
1005 				       _EXC_INFO_PARAM);
1006      extern void bid64_to_int8_rnint (char *pres,
1007 				      UINT64 *
1008 				      px _EXC_FLAGS_PARAM
1009 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1010      extern void bid64_to_int8_xrnint (char *pres,
1011 				       UINT64 *
1012 				       px _EXC_FLAGS_PARAM
1013 				       _EXC_MASKS_PARAM
1014 				       _EXC_INFO_PARAM);
1015      extern void bid64_to_int8_rninta (char *pres,
1016 				       UINT64 *
1017 				       px _EXC_FLAGS_PARAM
1018 				       _EXC_MASKS_PARAM
1019 				       _EXC_INFO_PARAM);
1020      extern void bid64_to_int8_xrninta (char *pres,
1021 					UINT64 *
1022 					px _EXC_FLAGS_PARAM
1023 					_EXC_MASKS_PARAM
1024 					_EXC_INFO_PARAM);
1025      extern void bid64_to_int8_int (char *pres,
1026 				    UINT64 *
1027 				    px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1028 				    _EXC_INFO_PARAM);
1029      extern void bid64_to_int8_xint (char *pres,
1030 				     UINT64 *
1031 				     px _EXC_FLAGS_PARAM
1032 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1033      extern void bid64_to_int8_floor (char *pres,
1034 				      UINT64 *
1035 				      px _EXC_FLAGS_PARAM
1036 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1037      extern void bid64_to_int8_xfloor (char *pres,
1038 				       UINT64 *
1039 				       px _EXC_FLAGS_PARAM
1040 				       _EXC_MASKS_PARAM
1041 				       _EXC_INFO_PARAM);
1042      extern void bid64_to_int8_ceil (char *pres,
1043 				     UINT64 *
1044 				     px _EXC_FLAGS_PARAM
1045 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1046      extern void bid64_to_int8_xceil (char *pres,
1047 				      UINT64 *
1048 				      px _EXC_FLAGS_PARAM
1049 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1050      extern void bid64_to_int16_rnint (short *pres,
1051 				       UINT64 *
1052 				       px _EXC_FLAGS_PARAM
1053 				       _EXC_MASKS_PARAM
1054 				       _EXC_INFO_PARAM);
1055      extern void bid64_to_int16_xrnint (short *pres,
1056 					UINT64 *
1057 					px _EXC_FLAGS_PARAM
1058 					_EXC_MASKS_PARAM
1059 					_EXC_INFO_PARAM);
1060      extern void bid64_to_int16_rninta (short *pres,
1061 					UINT64 *
1062 					px _EXC_FLAGS_PARAM
1063 					_EXC_MASKS_PARAM
1064 					_EXC_INFO_PARAM);
1065      extern void bid64_to_int16_xrninta (short *pres,
1066 					 UINT64 *
1067 					 px _EXC_FLAGS_PARAM
1068 					 _EXC_MASKS_PARAM
1069 					 _EXC_INFO_PARAM);
1070      extern void bid64_to_int16_int (short *pres,
1071 				     UINT64 *
1072 				     px _EXC_FLAGS_PARAM
1073 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1074      extern void bid64_to_int16_xint (short *pres,
1075 				      UINT64 *
1076 				      px _EXC_FLAGS_PARAM
1077 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1078      extern void bid64_to_int16_floor (short *pres,
1079 				       UINT64 *
1080 				       px _EXC_FLAGS_PARAM
1081 				       _EXC_MASKS_PARAM
1082 				       _EXC_INFO_PARAM);
1083      extern void bid64_to_int16_xfloor (short *pres,
1084 					UINT64 *
1085 					px _EXC_FLAGS_PARAM
1086 					_EXC_MASKS_PARAM
1087 					_EXC_INFO_PARAM);
1088      extern void bid64_to_int16_ceil (short *pres,
1089 				      UINT64 *
1090 				      px _EXC_FLAGS_PARAM
1091 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1092      extern void bid64_to_int16_xceil (short *pres,
1093 				       UINT64 *
1094 				       px _EXC_FLAGS_PARAM
1095 				       _EXC_MASKS_PARAM
1096 				       _EXC_INFO_PARAM);
1097      extern void bid64_to_uint8_rnint (unsigned char *pres,
1098 				       UINT64 *
1099 				       px _EXC_FLAGS_PARAM
1100 				       _EXC_MASKS_PARAM
1101 				       _EXC_INFO_PARAM);
1102      extern void bid64_to_uint8_xrnint (unsigned char *pres,
1103 					UINT64 *
1104 					px _EXC_FLAGS_PARAM
1105 					_EXC_MASKS_PARAM
1106 					_EXC_INFO_PARAM);
1107      extern void bid64_to_uint8_rninta (unsigned char *pres,
1108 					UINT64 *
1109 					px _EXC_FLAGS_PARAM
1110 					_EXC_MASKS_PARAM
1111 					_EXC_INFO_PARAM);
1112      extern void bid64_to_uint8_xrninta (unsigned char *pres,
1113 					 UINT64 *
1114 					 px _EXC_FLAGS_PARAM
1115 					 _EXC_MASKS_PARAM
1116 					 _EXC_INFO_PARAM);
1117      extern void bid64_to_uint8_int (unsigned char *pres,
1118 				     UINT64 *
1119 				     px _EXC_FLAGS_PARAM
1120 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1121      extern void bid64_to_uint8_xint (unsigned char *pres,
1122 				      UINT64 *
1123 				      px _EXC_FLAGS_PARAM
1124 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1125      extern void bid64_to_uint8_floor (unsigned char *pres,
1126 				       UINT64 *
1127 				       px _EXC_FLAGS_PARAM
1128 				       _EXC_MASKS_PARAM
1129 				       _EXC_INFO_PARAM);
1130      extern void bid64_to_uint8_xfloor (unsigned char *pres,
1131 					UINT64 *
1132 					px _EXC_FLAGS_PARAM
1133 					_EXC_MASKS_PARAM
1134 					_EXC_INFO_PARAM);
1135      extern void bid64_to_uint8_ceil (unsigned char *pres,
1136 				      UINT64 *
1137 				      px _EXC_FLAGS_PARAM
1138 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1139      extern void bid64_to_uint8_xceil (unsigned char *pres,
1140 				       UINT64 *
1141 				       px _EXC_FLAGS_PARAM
1142 				       _EXC_MASKS_PARAM
1143 				       _EXC_INFO_PARAM);
1144      extern void bid64_to_uint16_rnint (unsigned short *pres,
1145 					UINT64 *
1146 					px _EXC_FLAGS_PARAM
1147 					_EXC_MASKS_PARAM
1148 					_EXC_INFO_PARAM);
1149      extern void bid64_to_uint16_xrnint (unsigned short *pres,
1150 					 UINT64 *
1151 					 px _EXC_FLAGS_PARAM
1152 					 _EXC_MASKS_PARAM
1153 					 _EXC_INFO_PARAM);
1154      extern void bid64_to_uint16_rninta (unsigned short *pres,
1155 					 UINT64 *
1156 					 px _EXC_FLAGS_PARAM
1157 					 _EXC_MASKS_PARAM
1158 					 _EXC_INFO_PARAM);
1159      extern void bid64_to_uint16_xrninta (unsigned short *pres,
1160 					  UINT64 *
1161 					  px _EXC_FLAGS_PARAM
1162 					  _EXC_MASKS_PARAM
1163 					  _EXC_INFO_PARAM);
1164      extern void bid64_to_uint16_int (unsigned short *pres,
1165 				      UINT64 *
1166 				      px _EXC_FLAGS_PARAM
1167 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1168      extern void bid64_to_uint16_xint (unsigned short *pres,
1169 				       UINT64 *
1170 				       px _EXC_FLAGS_PARAM
1171 				       _EXC_MASKS_PARAM
1172 				       _EXC_INFO_PARAM);
1173      extern void bid64_to_uint16_floor (unsigned short *pres,
1174 					UINT64 *
1175 					px _EXC_FLAGS_PARAM
1176 					_EXC_MASKS_PARAM
1177 					_EXC_INFO_PARAM);
1178      extern void bid64_to_uint16_xfloor (unsigned short *pres,
1179 					 UINT64 *
1180 					 px _EXC_FLAGS_PARAM
1181 					 _EXC_MASKS_PARAM
1182 					 _EXC_INFO_PARAM);
1183      extern void bid64_to_uint16_ceil (unsigned short *pres,
1184 				       UINT64 *
1185 				       px _EXC_FLAGS_PARAM
1186 				       _EXC_MASKS_PARAM
1187 				       _EXC_INFO_PARAM);
1188      extern void bid64_to_uint16_xceil (unsigned short *pres,
1189 					UINT64 *
1190 					px _EXC_FLAGS_PARAM
1191 					_EXC_MASKS_PARAM
1192 					_EXC_INFO_PARAM);
1193      extern void bid64_to_uint32_rnint (unsigned int *pres,
1194 					UINT64 *
1195 					px _EXC_FLAGS_PARAM
1196 					_EXC_MASKS_PARAM
1197 					_EXC_INFO_PARAM);
1198      extern void bid64_to_uint32_xrnint (unsigned int *pres,
1199 					 UINT64 *
1200 					 px _EXC_FLAGS_PARAM
1201 					 _EXC_MASKS_PARAM
1202 					 _EXC_INFO_PARAM);
1203      extern void bid64_to_uint32_rninta (unsigned int *pres,
1204 					 UINT64 *
1205 					 px _EXC_FLAGS_PARAM
1206 					 _EXC_MASKS_PARAM
1207 					 _EXC_INFO_PARAM);
1208      extern void bid64_to_uint32_xrninta (unsigned int *pres,
1209 					  UINT64 *
1210 					  px _EXC_FLAGS_PARAM
1211 					  _EXC_MASKS_PARAM
1212 					  _EXC_INFO_PARAM);
1213      extern void bid64_to_uint32_int (unsigned int *pres,
1214 				      UINT64 *
1215 				      px _EXC_FLAGS_PARAM
1216 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1217      extern void bid64_to_uint32_xint (unsigned int *pres,
1218 				       UINT64 *
1219 				       px _EXC_FLAGS_PARAM
1220 				       _EXC_MASKS_PARAM
1221 				       _EXC_INFO_PARAM);
1222      extern void bid64_to_uint32_floor (unsigned int *pres,
1223 					UINT64 *
1224 					px _EXC_FLAGS_PARAM
1225 					_EXC_MASKS_PARAM
1226 					_EXC_INFO_PARAM);
1227      extern void bid64_to_uint32_xfloor (unsigned int *pres,
1228 					 UINT64 *
1229 					 px _EXC_FLAGS_PARAM
1230 					 _EXC_MASKS_PARAM
1231 					 _EXC_INFO_PARAM);
1232      extern void bid64_to_uint32_ceil (unsigned int *pres,
1233 				       UINT64 *
1234 				       px _EXC_FLAGS_PARAM
1235 				       _EXC_MASKS_PARAM
1236 				       _EXC_INFO_PARAM);
1237      extern void bid64_to_uint32_xceil (unsigned int *pres,
1238 					UINT64 *
1239 					px _EXC_FLAGS_PARAM
1240 					_EXC_MASKS_PARAM
1241 					_EXC_INFO_PARAM);
1242      extern void bid64_to_int64_rnint (SINT64 * pres,
1243 				       UINT64 *
1244 				       px _EXC_FLAGS_PARAM
1245 				       _EXC_MASKS_PARAM
1246 				       _EXC_INFO_PARAM);
1247      extern void bid64_to_int64_xrnint (SINT64 * pres,
1248 					UINT64 *
1249 					px _EXC_FLAGS_PARAM
1250 					_EXC_MASKS_PARAM
1251 					_EXC_INFO_PARAM);
1252      extern void bid64_to_int64_rninta (SINT64 * pres,
1253 					UINT64 *
1254 					px _EXC_FLAGS_PARAM
1255 					_EXC_MASKS_PARAM
1256 					_EXC_INFO_PARAM);
1257      extern void bid64_to_int64_xrninta (SINT64 * pres,
1258 					 UINT64 *
1259 					 px _EXC_FLAGS_PARAM
1260 					 _EXC_MASKS_PARAM
1261 					 _EXC_INFO_PARAM);
1262      extern void bid64_to_int64_int (SINT64 * pres,
1263 				     UINT64 *
1264 				     px _EXC_FLAGS_PARAM
1265 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1266      extern void bid64_to_int64_xint (SINT64 * pres,
1267 				      UINT64 *
1268 				      px _EXC_FLAGS_PARAM
1269 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1270      extern void bid64_to_int64_floor (SINT64 * pres,
1271 				       UINT64 *
1272 				       px _EXC_FLAGS_PARAM
1273 				       _EXC_MASKS_PARAM
1274 				       _EXC_INFO_PARAM);
1275      extern void bid64_to_int64_xfloor (SINT64 * pres,
1276 					UINT64 *
1277 					px _EXC_FLAGS_PARAM
1278 					_EXC_MASKS_PARAM
1279 					_EXC_INFO_PARAM);
1280      extern void bid64_to_int64_ceil (SINT64 * pres,
1281 				      UINT64 *
1282 				      px _EXC_FLAGS_PARAM
1283 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1284      extern void bid64_to_int64_xceil (SINT64 * pres,
1285 				       UINT64 *
1286 				       px _EXC_FLAGS_PARAM
1287 				       _EXC_MASKS_PARAM
1288 				       _EXC_INFO_PARAM);
1289      extern void bid64_to_uint64_rnint (UINT64 * pres,
1290 					UINT64 *
1291 					px _EXC_FLAGS_PARAM
1292 					_EXC_MASKS_PARAM
1293 					_EXC_INFO_PARAM);
1294      extern void bid64_to_uint64_xrnint (UINT64 * pres,
1295 					 UINT64 *
1296 					 px _EXC_FLAGS_PARAM
1297 					 _EXC_MASKS_PARAM
1298 					 _EXC_INFO_PARAM);
1299      extern void bid64_to_uint64_rninta (UINT64 * pres,
1300 					 UINT64 *
1301 					 px _EXC_FLAGS_PARAM
1302 					 _EXC_MASKS_PARAM
1303 					 _EXC_INFO_PARAM);
1304      extern void bid64_to_uint64_xrninta (UINT64 * pres,
1305 					  UINT64 *
1306 					  px _EXC_FLAGS_PARAM
1307 					  _EXC_MASKS_PARAM
1308 					  _EXC_INFO_PARAM);
1309      extern void bid64_to_uint64_int (UINT64 * pres,
1310 				      UINT64 *
1311 				      px _EXC_FLAGS_PARAM
1312 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1313      extern void bid64_to_uint64_xint (UINT64 * pres,
1314 				       UINT64 *
1315 				       px _EXC_FLAGS_PARAM
1316 				       _EXC_MASKS_PARAM
1317 				       _EXC_INFO_PARAM);
1318      extern void bid64_to_uint64_floor (UINT64 * pres,
1319 					UINT64 *
1320 					px _EXC_FLAGS_PARAM
1321 					_EXC_MASKS_PARAM
1322 					_EXC_INFO_PARAM);
1323      extern void bid64_to_uint64_xfloor (UINT64 * pres,
1324 					 UINT64 *
1325 					 px _EXC_FLAGS_PARAM
1326 					 _EXC_MASKS_PARAM
1327 					 _EXC_INFO_PARAM);
1328      extern void bid64_to_uint64_ceil (UINT64 * pres,
1329 				       UINT64 *
1330 				       px _EXC_FLAGS_PARAM
1331 				       _EXC_MASKS_PARAM
1332 				       _EXC_INFO_PARAM);
1333      extern void bid64_to_uint64_xceil (UINT64 * pres,
1334 					UINT64 *
1335 					px _EXC_FLAGS_PARAM
1336 					_EXC_MASKS_PARAM
1337 					_EXC_INFO_PARAM);
1338 
1339      extern void bid64_quiet_equal (int *pres, UINT64 * px, UINT64 * py
1340 				    _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1341 				    _EXC_INFO_PARAM);
1342      extern void bid64_quiet_greater (int *pres, UINT64 * px,
1343 				      UINT64 *
1344 				      py _EXC_FLAGS_PARAM
1345 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1346      extern void bid64_quiet_greater_equal (int *pres, UINT64 * px,
1347 					    UINT64 *
1348 					    py _EXC_FLAGS_PARAM
1349 					    _EXC_MASKS_PARAM
1350 					    _EXC_INFO_PARAM);
1351      extern void bid64_quiet_greater_unordered (int *pres, UINT64 * px,
1352 						UINT64 *
1353 						py _EXC_FLAGS_PARAM
1354 						_EXC_MASKS_PARAM
1355 						_EXC_INFO_PARAM);
1356      extern void bid64_quiet_less (int *pres, UINT64 * px,
1357 				   UINT64 *
1358 				   py _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1359 				   _EXC_INFO_PARAM);
1360      extern void bid64_quiet_less_equal (int *pres, UINT64 * px,
1361 					 UINT64 *
1362 					 py _EXC_FLAGS_PARAM
1363 					 _EXC_MASKS_PARAM
1364 					 _EXC_INFO_PARAM);
1365      extern void bid64_quiet_less_unordered (int *pres, UINT64 * px,
1366 					     UINT64 *
1367 					     py _EXC_FLAGS_PARAM
1368 					     _EXC_MASKS_PARAM
1369 					     _EXC_INFO_PARAM);
1370      extern void bid64_quiet_not_equal (int *pres, UINT64 * px,
1371 					UINT64 *
1372 					py _EXC_FLAGS_PARAM
1373 					_EXC_MASKS_PARAM
1374 					_EXC_INFO_PARAM);
1375      extern void bid64_quiet_not_greater (int *pres, UINT64 * px,
1376 					  UINT64 *
1377 					  py _EXC_FLAGS_PARAM
1378 					  _EXC_MASKS_PARAM
1379 					  _EXC_INFO_PARAM);
1380      extern void bid64_quiet_not_less (int *pres, UINT64 * px,
1381 				       UINT64 *
1382 				       py _EXC_FLAGS_PARAM
1383 				       _EXC_MASKS_PARAM
1384 				       _EXC_INFO_PARAM);
1385      extern void bid64_quiet_ordered (int *pres, UINT64 * px,
1386 				      UINT64 *
1387 				      py _EXC_FLAGS_PARAM
1388 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1389      extern void bid64_quiet_unordered (int *pres, UINT64 * px,
1390 					UINT64 *
1391 					py _EXC_FLAGS_PARAM
1392 					_EXC_MASKS_PARAM
1393 					_EXC_INFO_PARAM);
1394      extern void bid64_signaling_greater (int *pres, UINT64 * px,
1395 					  UINT64 *
1396 					  py _EXC_FLAGS_PARAM
1397 					  _EXC_MASKS_PARAM
1398 					  _EXC_INFO_PARAM);
1399      extern void bid64_signaling_greater_equal (int *pres, UINT64 * px,
1400 						UINT64 *
1401 						py _EXC_FLAGS_PARAM
1402 						_EXC_MASKS_PARAM
1403 						_EXC_INFO_PARAM);
1404      extern void bid64_signaling_greater_unordered (int *pres,
1405 						    UINT64 * px,
1406 						    UINT64 *
1407 						    py _EXC_FLAGS_PARAM
1408 						    _EXC_MASKS_PARAM
1409 						    _EXC_INFO_PARAM);
1410      extern void bid64_signaling_less (int *pres, UINT64 * px,
1411 				       UINT64 *
1412 				       py _EXC_FLAGS_PARAM
1413 				       _EXC_MASKS_PARAM
1414 				       _EXC_INFO_PARAM);
1415      extern void bid64_signaling_less_equal (int *pres, UINT64 * px,
1416 					     UINT64 *
1417 					     py _EXC_FLAGS_PARAM
1418 					     _EXC_MASKS_PARAM
1419 					     _EXC_INFO_PARAM);
1420      extern void bid64_signaling_less_unordered (int *pres, UINT64 * px,
1421 						 UINT64 *
1422 						 py _EXC_FLAGS_PARAM
1423 						 _EXC_MASKS_PARAM
1424 						 _EXC_INFO_PARAM);
1425      extern void bid64_signaling_not_greater (int *pres, UINT64 * px,
1426 					      UINT64 *
1427 					      py _EXC_FLAGS_PARAM
1428 					      _EXC_MASKS_PARAM
1429 					      _EXC_INFO_PARAM);
1430      extern void bid64_signaling_not_less (int *pres, UINT64 * px,
1431 					   UINT64 *
1432 					   py _EXC_FLAGS_PARAM
1433 					   _EXC_MASKS_PARAM
1434 					   _EXC_INFO_PARAM);
1435 
1436      extern void bid128_quiet_equal (int *pres, UINT128 * px,
1437 				     UINT128 *
1438 				     py _EXC_FLAGS_PARAM
1439 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1440      extern void bid128_quiet_greater (int *pres, UINT128 * px,
1441 				       UINT128 *
1442 				       py _EXC_FLAGS_PARAM
1443 				       _EXC_MASKS_PARAM
1444 				       _EXC_INFO_PARAM);
1445      extern void bid128_quiet_greater_equal (int *pres, UINT128 * px,
1446 					     UINT128 *
1447 					     py _EXC_FLAGS_PARAM
1448 					     _EXC_MASKS_PARAM
1449 					     _EXC_INFO_PARAM);
1450      extern void bid128_quiet_greater_unordered (int *pres,
1451 						 UINT128 * px,
1452 						 UINT128 *
1453 						 py _EXC_FLAGS_PARAM
1454 						 _EXC_MASKS_PARAM
1455 						 _EXC_INFO_PARAM);
1456      extern void bid128_quiet_less (int *pres, UINT128 * px,
1457 				    UINT128 *
1458 				    py _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1459 				    _EXC_INFO_PARAM);
1460      extern void bid128_quiet_less_equal (int *pres, UINT128 * px,
1461 					  UINT128 *
1462 					  py _EXC_FLAGS_PARAM
1463 					  _EXC_MASKS_PARAM
1464 					  _EXC_INFO_PARAM);
1465      extern void bid128_quiet_less_unordered (int *pres, UINT128 * px,
1466 					      UINT128 *
1467 					      py _EXC_FLAGS_PARAM
1468 					      _EXC_MASKS_PARAM
1469 					      _EXC_INFO_PARAM);
1470      extern void bid128_quiet_not_equal (int *pres, UINT128 * px,
1471 					 UINT128 *
1472 					 py _EXC_FLAGS_PARAM
1473 					 _EXC_MASKS_PARAM
1474 					 _EXC_INFO_PARAM);
1475      extern void bid128_quiet_not_greater (int *pres, UINT128 * px,
1476 					   UINT128 *
1477 					   py _EXC_FLAGS_PARAM
1478 					   _EXC_MASKS_PARAM
1479 					   _EXC_INFO_PARAM);
1480      extern void bid128_quiet_not_less (int *pres, UINT128 * px,
1481 					UINT128 *
1482 					py _EXC_FLAGS_PARAM
1483 					_EXC_MASKS_PARAM
1484 					_EXC_INFO_PARAM);
1485      extern void bid128_quiet_ordered (int *pres, UINT128 * px,
1486 				       UINT128 *
1487 				       py _EXC_FLAGS_PARAM
1488 				       _EXC_MASKS_PARAM
1489 				       _EXC_INFO_PARAM);
1490      extern void bid128_quiet_unordered (int *pres, UINT128 * px,
1491 					 UINT128 *
1492 					 py _EXC_FLAGS_PARAM
1493 					 _EXC_MASKS_PARAM
1494 					 _EXC_INFO_PARAM);
1495      extern void bid128_signaling_greater (int *pres, UINT128 * px,
1496 					   UINT128 *
1497 					   py _EXC_FLAGS_PARAM
1498 					   _EXC_MASKS_PARAM
1499 					   _EXC_INFO_PARAM);
1500      extern void bid128_signaling_greater_equal (int *pres,
1501 						 UINT128 * px,
1502 						 UINT128 *
1503 						 py _EXC_FLAGS_PARAM
1504 						 _EXC_MASKS_PARAM
1505 						 _EXC_INFO_PARAM);
1506      extern void bid128_signaling_greater_unordered (int *pres,
1507 						     UINT128 * px,
1508 						     UINT128 *
1509 						     py _EXC_FLAGS_PARAM
1510 						     _EXC_MASKS_PARAM
1511 						     _EXC_INFO_PARAM);
1512      extern void bid128_signaling_less (int *pres, UINT128 * px,
1513 					UINT128 *
1514 					py _EXC_FLAGS_PARAM
1515 					_EXC_MASKS_PARAM
1516 					_EXC_INFO_PARAM);
1517      extern void bid128_signaling_less_equal (int *pres, UINT128 * px,
1518 					      UINT128 *
1519 					      py _EXC_FLAGS_PARAM
1520 					      _EXC_MASKS_PARAM
1521 					      _EXC_INFO_PARAM);
1522      extern void bid128_signaling_less_unordered (int *pres,
1523 						  UINT128 * px,
1524 						  UINT128 *
1525 						  py _EXC_FLAGS_PARAM
1526 						  _EXC_MASKS_PARAM
1527 						  _EXC_INFO_PARAM);
1528      extern void bid128_signaling_not_greater (int *pres, UINT128 * px,
1529 					       UINT128 *
1530 					       py _EXC_FLAGS_PARAM
1531 					       _EXC_MASKS_PARAM
1532 					       _EXC_INFO_PARAM);
1533      extern void bid128_signaling_not_less (int *pres, UINT128 * px,
1534 					    UINT128 *
1535 					    py _EXC_FLAGS_PARAM
1536 					    _EXC_MASKS_PARAM
1537 					    _EXC_INFO_PARAM);
1538 
1539      extern void bid64_round_integral_exact (UINT64 * pres, UINT64 * px
1540 					     _RND_MODE_PARAM
1541 					     _EXC_FLAGS_PARAM
1542 					     _EXC_MASKS_PARAM
1543 					     _EXC_INFO_PARAM);
1544      extern void bid64_round_integral_nearest_even (UINT64 * pres,
1545 						    UINT64 *
1546 						    px _EXC_FLAGS_PARAM
1547 						    _EXC_MASKS_PARAM
1548 						    _EXC_INFO_PARAM);
1549      extern void bid64_round_integral_negative (UINT64 * pres,
1550 						UINT64 *
1551 						px _EXC_FLAGS_PARAM
1552 						_EXC_MASKS_PARAM
1553 						_EXC_INFO_PARAM);
1554      extern void bid64_round_integral_positive (UINT64 * pres,
1555 						UINT64 *
1556 						px _EXC_FLAGS_PARAM
1557 						_EXC_MASKS_PARAM
1558 						_EXC_INFO_PARAM);
1559      extern void bid64_round_integral_zero (UINT64 * pres,
1560 					    UINT64 *
1561 					    px _EXC_FLAGS_PARAM
1562 					    _EXC_MASKS_PARAM
1563 					    _EXC_INFO_PARAM);
1564      extern void bid64_round_integral_nearest_away (UINT64 * pres,
1565 						    UINT64 *
1566 						    px _EXC_FLAGS_PARAM
1567 						    _EXC_MASKS_PARAM
1568 						    _EXC_INFO_PARAM);
1569 
1570      extern void bid128_round_integral_exact (UINT128 * pres,
1571 					      UINT128 *
1572 					      px _RND_MODE_PARAM
1573 					      _EXC_FLAGS_PARAM
1574 					      _EXC_MASKS_PARAM
1575 					      _EXC_INFO_PARAM);
1576      extern void bid128_round_integral_nearest_even (UINT128 * pres,
1577 						     UINT128 *
1578 						     px _EXC_FLAGS_PARAM
1579 						     _EXC_MASKS_PARAM
1580 						     _EXC_INFO_PARAM);
1581      extern void bid128_round_integral_negative (UINT128 * pres,
1582 						 UINT128 *
1583 						 px _EXC_FLAGS_PARAM
1584 						 _EXC_MASKS_PARAM
1585 						 _EXC_INFO_PARAM);
1586      extern void bid128_round_integral_positive (UINT128 * pres,
1587 						 UINT128 *
1588 						 px _EXC_FLAGS_PARAM
1589 						 _EXC_MASKS_PARAM
1590 						 _EXC_INFO_PARAM);
1591      extern void bid128_round_integral_zero (UINT128 * pres,
1592 					     UINT128 *
1593 					     px _EXC_FLAGS_PARAM
1594 					     _EXC_MASKS_PARAM
1595 					     _EXC_INFO_PARAM);
1596      extern void bid128_round_integral_nearest_away (UINT128 * pres,
1597 						     UINT128 *
1598 						     px _EXC_FLAGS_PARAM
1599 						     _EXC_MASKS_PARAM
1600 						     _EXC_INFO_PARAM);
1601 
1602      extern void bid64_nextup (UINT64 * pres, UINT64 * px
1603 			       _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1604 			       _EXC_INFO_PARAM);
1605      extern void bid64_nextdown (UINT64 * pres,
1606 				 UINT64 *
1607 				 px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1608 				 _EXC_INFO_PARAM);
1609      extern void bid64_nextafter (UINT64 * pres, UINT64 * px,
1610 				  UINT64 *
1611 				  py _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1612 				  _EXC_INFO_PARAM);
1613 
1614      extern void bid128_nextup (UINT128 * pres, UINT128 * px
1615 				_EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1616 				_EXC_INFO_PARAM);
1617      extern void bid128_nextdown (UINT128 * pres,
1618 				  UINT128 *
1619 				  px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1620 				  _EXC_INFO_PARAM);
1621      extern void bid128_nextafter (UINT128 * pres, UINT128 * px,
1622 				   UINT128 *
1623 				   py _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1624 				   _EXC_INFO_PARAM);
1625 
1626      extern void bid64_minnum (UINT64 * pres, UINT64 * px, UINT64 * py
1627 			       _EXC_FLAGS_PARAM);
1628      extern void bid64_minnum_mag (UINT64 * pres, UINT64 * px,
1629 				   UINT64 * py _EXC_FLAGS_PARAM);
1630      extern void bid64_maxnum (UINT64 * pres, UINT64 * px, UINT64 * py
1631 			       _EXC_FLAGS_PARAM);
1632      extern void bid64_maxnum_mag (UINT64 * pres, UINT64 * px,
1633 				   UINT64 * py _EXC_FLAGS_PARAM);
1634 
1635      extern void bid128_minnum (UINT128 * pres, UINT128 * px,
1636 				UINT128 * py _EXC_FLAGS_PARAM);
1637      extern void bid128_minnum_mag (UINT128 * pres, UINT128 * px,
1638 				    UINT128 * py _EXC_FLAGS_PARAM);
1639      extern void bid128_maxnum (UINT128 * pres, UINT128 * px,
1640 				UINT128 * py _EXC_FLAGS_PARAM);
1641      extern void bid128_maxnum_mag (UINT128 * pres, UINT128 * px,
1642 				    UINT128 * py _EXC_FLAGS_PARAM);
1643 
1644      extern void bid64_from_int32 (UINT64 * pres, int *px
1645 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1646      extern void bid64_from_uint32 (UINT64 * pres, unsigned int *px
1647 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1648      extern void bid64_from_int64 (UINT64 * pres, SINT64 * px
1649 				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
1650 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1651      extern void bid64_from_uint64 (UINT64 * pres,
1652 				    UINT64 *
1653 				    px _RND_MODE_PARAM _EXC_FLAGS_PARAM
1654 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1655      extern void bid128_from_int32 (UINT128 * pres,
1656 				    int *px _EXC_MASKS_PARAM
1657 				    _EXC_INFO_PARAM);
1658      extern void bid128_from_uint32 (UINT128 * pres,
1659 				     unsigned int *px _EXC_MASKS_PARAM
1660 				     _EXC_INFO_PARAM);
1661      extern void bid128_from_int64 (UINT128 * pres,
1662 				    SINT64 *
1663 				    px _EXC_MASKS_PARAM
1664 				    _EXC_INFO_PARAM);
1665      extern void bid128_from_uint64 (UINT128 * pres,
1666 				     UINT64 *
1667 				     px _EXC_MASKS_PARAM
1668 				     _EXC_INFO_PARAM);
1669 
1670      extern void bid64_isSigned (int *pres, UINT64 * px
1671 				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1672      extern void bid64_isNormal (int *pres, UINT64 * px
1673 				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1674      extern void bid64_isSubnormal (int *pres, UINT64 * px
1675 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1676      extern void bid64_isFinite (int *pres, UINT64 * px
1677 				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1678      extern void bid64_isZero (int *pres, UINT64 * px
1679 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1680      extern void bid64_isInf (int *pres, UINT64 * px
1681 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1682      extern void bid64_isSignaling (int *pres, UINT64 * px
1683 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1684      extern void bid64_isCanonical (int *pres, UINT64 * px
1685 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1686      extern void bid64_isNaN (int *pres, UINT64 * px
1687 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1688      extern void bid64_copy (UINT64 * pres, UINT64 * px
1689 			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1690      extern void bid64_negate (UINT64 * pres, UINT64 * px
1691 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1692      extern void bid64_abs (UINT64 * pres, UINT64 * px
1693 			    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1694      extern void bid64_copySign (UINT64 * pres, UINT64 * px, UINT64 * py
1695 				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1696      extern void bid64_class (int *pres, UINT64 * px
1697 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1698      extern void bid64_sameQuantum (int *pres, UINT64 * px, UINT64 * py
1699 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1700      extern void bid64_totalOrder (int *pres, UINT64 * px, UINT64 * py
1701 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1702      extern void bid64_totalOrderMag (int *pres, UINT64 * px,
1703 				      UINT64 *
1704 				      py _EXC_MASKS_PARAM
1705 				      _EXC_INFO_PARAM);
1706      extern void bid64_radix (int *pres,
1707 			      UINT64 *
1708 			      px _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1709 
1710      extern void bid128_isSigned (int *pres, UINT128 * px
1711 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1712      extern void bid128_isNormal (int *pres, UINT128 * px
1713 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1714      extern void bid128_isSubnormal (int *pres, UINT128 * px
1715 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1716      extern void bid128_isFinite (int *pres, UINT128 * px
1717 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1718      extern void bid128_isZero (int *pres, UINT128 * px
1719 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
1720      extern void bid128_isInf (int *pres, UINT128 * px
1721 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1722      extern void bid128_isSignaling (int *pres, UINT128 * px
1723 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1724      extern void bid128_isCanonical (int *pres, UINT128 * px
1725 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1726      extern void bid128_isNaN (int *pres, UINT128 * px
1727 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1728      extern void bid128_copy (UINT128 * pres, UINT128 * px
1729 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1730      extern void bid128_negate (UINT128 * pres, UINT128 * px
1731 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
1732      extern void bid128_abs (UINT128 * pres, UINT128 * px
1733 			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1734      extern void bid128_copySign (UINT128 * pres, UINT128 * px,
1735 				  UINT128 *
1736 				  py _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1737      extern void bid128_class (int *pres,
1738 			       UINT128 *
1739 			       px _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1740      extern void bid128_sameQuantum (int *pres, UINT128 * px,
1741 				     UINT128 *
1742 				     py _EXC_MASKS_PARAM
1743 				     _EXC_INFO_PARAM);
1744      extern void bid128_totalOrder (int *pres, UINT128 * px,
1745 				    UINT128 *
1746 				    py _EXC_MASKS_PARAM
1747 				    _EXC_INFO_PARAM);
1748      extern void bid128_totalOrderMag (int *pres, UINT128 * px,
1749 				       UINT128 *
1750 				       py _EXC_MASKS_PARAM
1751 				       _EXC_INFO_PARAM);
1752      extern void bid128_radix (int *pres,
1753 			       UINT128 *
1754 			       px _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1755 
1756      extern void bid64_rem (UINT64 * pres, UINT64 * px, UINT64 * py
1757 			    _EXC_FLAGS_PARAM
1758 			    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1759      extern void bid64_logb (int * pres, UINT64 * px
1760 			     _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1761 			     _EXC_INFO_PARAM);
1762      extern void bid64_scalb (UINT64 * pres, UINT64 * px,
1763 			      int *pn _RND_MODE_PARAM _EXC_FLAGS_PARAM
1764 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1765 
1766      extern void bid128_rem (UINT128 * pres, UINT128 * px, UINT128 * py
1767 			     _EXC_FLAGS_PARAM
1768 			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1769      extern void bid128_logb (int * pres, UINT128 * px
1770 			      _EXC_FLAGS_PARAM
1771 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1772      extern void bid128_scalb (UINT128 * pres, UINT128 * px,
1773 			       int *pn _RND_MODE_PARAM _EXC_FLAGS_PARAM
1774 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1775 
1776      extern void bid32_to_bid64 (UINT64 * pres,
1777 				 UINT32 *
1778 				 px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1779 				 _EXC_INFO_PARAM);
1780      extern void bid32_to_bid128 (UINT128 * pres,
1781 				  UINT32 *
1782 				  px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1783 				  _EXC_INFO_PARAM);
1784      extern void bid64_to_bid128 (UINT128 * pres,
1785 				  UINT64 *
1786 				  px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1787 				  _EXC_INFO_PARAM);
1788      extern void bid64_to_bid32 (UINT32 * pres,
1789 				 UINT64 *
1790 				 px _RND_MODE_PARAM _EXC_FLAGS_PARAM
1791 				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1792      extern void bid128_to_bid32 (UINT32 * pres,
1793 				  UINT128 *
1794 				  px _RND_MODE_PARAM _EXC_FLAGS_PARAM
1795 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1796      extern void bid128_to_bid64 (UINT64 * pres,
1797 				  UINT128 *
1798 				  px _RND_MODE_PARAM _EXC_FLAGS_PARAM
1799 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1800 
1801      extern void bid64_from_string (UINT64 * pres, char *ps
1802 				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
1803 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1804      extern void bid64_to_string (char *ps, UINT64 * px
1805 				  _EXC_FLAGS_PARAM
1806 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1807      extern void bid128_from_string (UINT128 * pres, char *ps
1808 				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1809 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1810      extern void bid128_to_string (char *str, UINT128 * px
1811 				   _EXC_FLAGS_PARAM
1812 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1813 
1814      extern void bid64_quantize (UINT64 * pres, UINT64 * px,
1815 				 UINT64 *
1816 				 py _RND_MODE_PARAM _EXC_FLAGS_PARAM
1817 				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1818 
1819      extern void bid128_quantize (UINT128 * pres, UINT128 * px,
1820 				  UINT128 *
1821 				  py _RND_MODE_PARAM _EXC_FLAGS_PARAM
1822 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1823 
1824      extern void bid128_to_binary32 (float *pres, UINT128 * px
1825 				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1826 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1827 
1828      extern void bid128_to_binary64 (double *pres, UINT128 * px
1829 				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1830 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1831 
1832      extern void bid128_to_binary80 (BINARY80 * pres, UINT128 * px
1833 				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1834 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1835 
1836      extern void bid128_to_binary128 (BINARY128 * pres, UINT128 * px
1837 				      _RND_MODE_PARAM _EXC_FLAGS_PARAM
1838 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1839 
1840      extern void binary128_to_bid32 (UINT32 * pres, BINARY128 * px
1841 				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1842 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1843 
1844      extern void binary128_to_bid64 (UINT64 * pres, BINARY128 * px
1845 				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1846 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1847 
1848      extern void binary128_to_bid128 (UINT128 * pres, BINARY128 * px
1849 				      _RND_MODE_PARAM _EXC_FLAGS_PARAM
1850 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1851 
1852      extern void bid64_to_binary32 (float *pres, UINT64 * px
1853 				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
1854 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1855 
1856      extern void bid64_to_binary64 (double *pres, UINT64 * px
1857 				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
1858 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1859 
1860      extern void bid64_to_binary80 (BINARY80 * pres, UINT64 * px
1861 				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
1862 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1863 
1864      extern void bid64_to_binary128 (BINARY128 * pres, UINT64 * px
1865 				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1866 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1867 
1868      extern void binary64_to_bid32 (UINT32 * pres, double *px
1869 				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
1870 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1871 
1872      extern void binary64_to_bid64 (UINT64 * pres, double *px
1873 				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
1874 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1875 
1876      extern void binary64_to_bid128 (UINT128 * pres, double *px
1877 				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1878 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1879 
1880      extern void bid32_to_binary32 (float *pres, UINT32 * px
1881 				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
1882 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1883 
1884      extern void bid32_to_binary64 (double *pres, UINT32 * px
1885 				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
1886 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1887 
1888      extern void bid32_to_binary80 (BINARY80 * pres, UINT32 * px
1889 				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
1890 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1891 
1892      extern void bid32_to_binary128 (BINARY128 * pres, UINT32 * px
1893 				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1894 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1895 
1896      extern void binary32_to_bid32 (UINT32 * pres, float *px
1897 				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
1898 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1899 
1900      extern void binary32_to_bid64 (UINT64 * pres, float *px
1901 				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
1902 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1903 
1904      extern void binary32_to_bid128 (UINT128 * pres, float *px
1905 				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1906 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1907 
1908      extern void binary80_to_bid32 (UINT32 * pres, BINARY80 * px
1909 				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
1910 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1911 
1912      extern void binary80_to_bid64 (UINT64 * pres, BINARY80 * px
1913 				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
1914 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1915 
1916      extern void binary80_to_bid128 (UINT128 * pres, BINARY80 * px
1917 				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
1918 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1919 
1920      extern void is754 (int *retval);
1921 
1922      extern void is754R (int *retval);
1923 
1924      extern void signalException (_IDEC_flags *
1925 				  pflagsmask _EXC_FLAGS_PARAM);
1926 
1927      extern void lowerFlags (_IDEC_flags * pflagsmask _EXC_FLAGS_PARAM);
1928 
1929      extern void testFlags (_IDEC_flags * praised,
1930 			    _IDEC_flags * pflagsmask _EXC_FLAGS_PARAM);
1931 
1932      extern void testSavedFlags (_IDEC_flags * praised,
1933 				 _IDEC_flags * psavedflags,
1934 				 _IDEC_flags * pflagsmask);
1935 
1936      extern void restoreFlags (_IDEC_flags * pflagsvalues,
1937 			       _IDEC_flags *
1938 			       pflagsmask _EXC_FLAGS_PARAM);
1939 
1940      extern void saveFlags (_IDEC_flags * pflagsvalues,
1941 			    _IDEC_flags * pflagsmask _EXC_FLAGS_PARAM);
1942 
1943      void getDecimalRoundingDirection (_IDEC_round *
1944 				       rounding_mode _RND_MODE_PARAM);
1945 
1946      void setDecimalRoundingDirection (_IDEC_round *
1947 				       rounding_mode _RND_MODE_PARAM);
1948 
1949 #else
1950 
1951      extern UINT32 bid_to_dpd32 (UINT32 px);
1952      extern UINT64 bid_to_dpd64 (UINT64 px);
1953      extern UINT128 bid_to_dpd128 (UINT128 px);
1954      extern UINT32 dpd_to_bid32 (UINT32 px);
1955      extern UINT64 dpd_to_bid64 (UINT64 px);
1956      extern UINT128 dpd_to_bid128 (UINT128 px);
1957 
1958      extern UINT128 bid128dd_add (UINT64 x, UINT64 y
1959 				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
1960 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1961      extern UINT128 bid128dq_add (UINT64 x, UINT128 y
1962 				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
1963 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1964      extern UINT128 bid128qd_add (UINT128 x, UINT64 y
1965 				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
1966 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1967      extern UINT128 bid128_add (UINT128 x, UINT128 y
1968 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
1969 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
1970      extern UINT128 bid128dd_sub (UINT64 x, UINT64 y
1971 				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
1972 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1973      extern UINT128 bid128dq_sub (UINT64 x, UINT128 y
1974 				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
1975 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1976      extern UINT128 bid128qd_sub (UINT128 x, UINT64 y
1977 				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
1978 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1979      extern UINT128 bid128_sub (UINT128 x,
1980 				UINT128 y _RND_MODE_PARAM
1981 				_EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1982 				_EXC_INFO_PARAM);
1983      extern UINT128 bid128dd_mul (UINT64 x, UINT64 y
1984 				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
1985 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1986      extern UINT128 bid128dq_mul (UINT64 x, UINT128 y
1987 				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
1988 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1989      extern UINT128 bid128qd_mul (UINT128 x, UINT64 y
1990 				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
1991 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1992      extern UINT128 bid128_mul (UINT128 x, UINT128 y
1993 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
1994 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
1995      extern UINT128 bid128_div (UINT128 x,
1996 				UINT128 y _RND_MODE_PARAM
1997 				_EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1998 				_EXC_INFO_PARAM);
1999      extern UINT128 bid128dd_div (UINT64 x, UINT64 y
2000 				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
2001 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2002      extern UINT128 bid128dq_div (UINT64 x, UINT128 y
2003 				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
2004 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2005      extern UINT128 bid128qd_div (UINT128 x, UINT64 y
2006 				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
2007 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2008      extern UINT128 bid128_fma (UINT128 x, UINT128 y, UINT128 z
2009 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
2010 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
2011      extern UINT128 bid128ddd_fma (UINT64 x, UINT64 y, UINT64 z
2012 				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
2013 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2014      extern UINT128 bid128ddq_fma (UINT64 x, UINT64 y, UINT128 z
2015 				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
2016 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2017      extern UINT128 bid128dqd_fma (UINT64 x, UINT128 y, UINT64 z
2018 				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
2019 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2020      extern UINT128 bid128dqq_fma (UINT64 x, UINT128 y,
2021 				   UINT128 z
2022 				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
2023 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2024      extern UINT128 bid128qdd_fma (UINT128 x, UINT64 y, UINT64 z
2025 				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
2026 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2027      extern UINT128 bid128qdq_fma (UINT128 x, UINT64 y,
2028 				   UINT128 z
2029 				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
2030 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2031      extern UINT128 bid128qqd_fma (UINT128 x, UINT128 y,
2032 				   UINT64 z
2033 				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
2034 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2035      // Note: bid128qqq_fma is represented by bid128_fma
2036      // Note: bid64ddd_fma is represented by bid64_fma
2037      extern UINT64 bid64ddq_fma (UINT64 x, UINT64 y,
2038 				 UINT128 z
2039 				 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2040 				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2041      extern UINT64 bid64dqd_fma (UINT64 x, UINT128 y,
2042 				 UINT64 z
2043 				 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2044 				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2045      extern UINT64 bid64dqq_fma (UINT64 x, UINT128 y,
2046 				 UINT128 z
2047 				 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2048 				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2049      extern UINT64 bid64qdd_fma (UINT128 x, UINT64 y,
2050 				 UINT64 z
2051 				 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2052 				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2053      extern UINT64 bid64qdq_fma (UINT128 x, UINT64 y,
2054 				 UINT128 z
2055 				 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2056 				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2057      extern UINT64 bid64qqd_fma (UINT128 x, UINT128 y,
2058 				 UINT64 z
2059 				 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2060 				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2061      extern UINT64 bid64qqq_fma (UINT128 x, UINT128 y,
2062 				 UINT128 z
2063 				 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2064 				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2065 
2066      extern UINT128 bid128_sqrt (UINT128 x _RND_MODE_PARAM
2067 				 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2068 				 _EXC_INFO_PARAM);
2069      extern UINT128 bid128d_sqrt (UINT64 x
2070 				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
2071 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2072 
2073      extern UINT64 bid64_add (UINT64 x, UINT64 y
2074 			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
2075 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2076      extern UINT64 bid64dq_add (UINT64 x, UINT128 y
2077 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
2078 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
2079      extern UINT64 bid64qd_add (UINT128 x, UINT64 y
2080 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
2081 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
2082      extern UINT64 bid64qq_add (UINT128 x, UINT128 y
2083 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
2084 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
2085      extern UINT64 bid64_sub (UINT64 x,
2086 			      UINT64 y _RND_MODE_PARAM
2087 			      _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2088 			      _EXC_INFO_PARAM);
2089      extern UINT64 bid64dq_sub (UINT64 x, UINT128 y
2090 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
2091 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
2092      extern UINT64 bid64qd_sub (UINT128 x, UINT64 y
2093 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
2094 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
2095      extern UINT64 bid64qq_sub (UINT128 x, UINT128 y
2096 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
2097 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
2098      extern UINT64 bid64_mul (UINT64 x, UINT64 y
2099 			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
2100 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2101      extern UINT64 bid64dq_mul (UINT64 x, UINT128 y
2102 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
2103 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
2104      extern UINT64 bid64qd_mul (UINT128 x, UINT64 y
2105 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
2106 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
2107      extern UINT64 bid64qq_mul (UINT128 x, UINT128 y
2108 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
2109 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
2110      extern UINT64 bid64_div (UINT64 x,
2111 			      UINT64 y _RND_MODE_PARAM
2112 			      _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2113 			      _EXC_INFO_PARAM);
2114      extern UINT64 bid64dq_div (UINT64 x, UINT128 y
2115 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
2116 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
2117      extern UINT64 bid64qd_div (UINT128 x, UINT64 y
2118 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
2119 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
2120      extern UINT64 bid64qq_div (UINT128 x, UINT128 y
2121 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
2122 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
2123      extern UINT64 bid64_fma (UINT64 x, UINT64 y,
2124 			      UINT64 z _RND_MODE_PARAM
2125 			      _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2126 			      _EXC_INFO_PARAM);
2127      extern UINT64 bid64_sqrt (UINT64 x _RND_MODE_PARAM
2128 			       _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2129 			       _EXC_INFO_PARAM);
2130      extern UINT64 bid64q_sqrt (UINT128 x
2131 				_RND_MODE_PARAM _EXC_FLAGS_PARAM
2132 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
2133 
2134      extern char bid128_to_int8_rnint (UINT128 x
2135 				       _EXC_FLAGS_PARAM
2136 				       _EXC_MASKS_PARAM
2137 				       _EXC_INFO_PARAM);
2138      extern char bid128_to_int8_xrnint (UINT128 x
2139 					_EXC_FLAGS_PARAM
2140 					_EXC_MASKS_PARAM
2141 					_EXC_INFO_PARAM);
2142      extern char bid128_to_int8_rninta (UINT128 x
2143 					_EXC_FLAGS_PARAM
2144 					_EXC_MASKS_PARAM
2145 					_EXC_INFO_PARAM);
2146      extern char bid128_to_int8_xrninta (UINT128 x
2147 					 _EXC_FLAGS_PARAM
2148 					 _EXC_MASKS_PARAM
2149 					 _EXC_INFO_PARAM);
2150      extern char bid128_to_int8_int (UINT128 x _EXC_FLAGS_PARAM
2151 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2152      extern char bid128_to_int8_xint (UINT128 x _EXC_FLAGS_PARAM
2153 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2154      extern char bid128_to_int8_floor (UINT128 x
2155 				       _EXC_FLAGS_PARAM
2156 				       _EXC_MASKS_PARAM
2157 				       _EXC_INFO_PARAM);
2158      extern char bid128_to_int8_xfloor (UINT128 x
2159 					_EXC_FLAGS_PARAM
2160 					_EXC_MASKS_PARAM
2161 					_EXC_INFO_PARAM);
2162      extern char bid128_to_int8_ceil (UINT128 x _EXC_FLAGS_PARAM
2163 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2164      extern char bid128_to_int8_xceil (UINT128 x
2165 				       _EXC_FLAGS_PARAM
2166 				       _EXC_MASKS_PARAM
2167 				       _EXC_INFO_PARAM);
2168      extern short bid128_to_int16_rnint (UINT128 x
2169 					 _EXC_FLAGS_PARAM
2170 					 _EXC_MASKS_PARAM
2171 					 _EXC_INFO_PARAM);
2172      extern short bid128_to_int16_xrnint (UINT128 x
2173 					  _EXC_FLAGS_PARAM
2174 					  _EXC_MASKS_PARAM
2175 					  _EXC_INFO_PARAM);
2176      extern short bid128_to_int16_rninta (UINT128 x
2177 					  _EXC_FLAGS_PARAM
2178 					  _EXC_MASKS_PARAM
2179 					  _EXC_INFO_PARAM);
2180      extern short bid128_to_int16_xrninta (UINT128 x
2181 					   _EXC_FLAGS_PARAM
2182 					   _EXC_MASKS_PARAM
2183 					   _EXC_INFO_PARAM);
2184      extern short bid128_to_int16_int (UINT128 x _EXC_FLAGS_PARAM
2185 				       _EXC_MASKS_PARAM
2186 				       _EXC_INFO_PARAM);
2187      extern short bid128_to_int16_xint (UINT128 x _EXC_FLAGS_PARAM
2188 					_EXC_MASKS_PARAM
2189 					_EXC_INFO_PARAM);
2190      extern short bid128_to_int16_floor (UINT128 x
2191 					 _EXC_FLAGS_PARAM
2192 					 _EXC_MASKS_PARAM
2193 					 _EXC_INFO_PARAM);
2194      extern short bid128_to_int16_xfloor (UINT128 x
2195 					  _EXC_FLAGS_PARAM
2196 					  _EXC_MASKS_PARAM
2197 					  _EXC_INFO_PARAM);
2198      extern short bid128_to_int16_ceil (UINT128 x _EXC_FLAGS_PARAM
2199 					_EXC_MASKS_PARAM
2200 					_EXC_INFO_PARAM);
2201      extern short bid128_to_int16_xceil (UINT128 x
2202 					 _EXC_FLAGS_PARAM
2203 					 _EXC_MASKS_PARAM
2204 					 _EXC_INFO_PARAM);
2205      extern unsigned char bid128_to_uint8_rnint (UINT128 x
2206 						 _EXC_FLAGS_PARAM
2207 						 _EXC_MASKS_PARAM
2208 						 _EXC_INFO_PARAM);
2209      extern unsigned char bid128_to_uint8_xrnint (UINT128 x
2210 						  _EXC_FLAGS_PARAM
2211 						  _EXC_MASKS_PARAM
2212 						  _EXC_INFO_PARAM);
2213      extern unsigned char bid128_to_uint8_rninta (UINT128 x
2214 						  _EXC_FLAGS_PARAM
2215 						  _EXC_MASKS_PARAM
2216 						  _EXC_INFO_PARAM);
2217      extern unsigned char bid128_to_uint8_xrninta (UINT128 x
2218 						   _EXC_FLAGS_PARAM
2219 						   _EXC_MASKS_PARAM
2220 						   _EXC_INFO_PARAM);
2221      extern unsigned char bid128_to_uint8_int (UINT128 x
2222 					       _EXC_FLAGS_PARAM
2223 					       _EXC_MASKS_PARAM
2224 					       _EXC_INFO_PARAM);
2225      extern unsigned char bid128_to_uint8_xint (UINT128 x
2226 						_EXC_FLAGS_PARAM
2227 						_EXC_MASKS_PARAM
2228 						_EXC_INFO_PARAM);
2229      extern unsigned char bid128_to_uint8_floor (UINT128 x
2230 						 _EXC_FLAGS_PARAM
2231 						 _EXC_MASKS_PARAM
2232 						 _EXC_INFO_PARAM);
2233      extern unsigned char bid128_to_uint8_xfloor (UINT128 x
2234 						  _EXC_FLAGS_PARAM
2235 						  _EXC_MASKS_PARAM
2236 						  _EXC_INFO_PARAM);
2237      extern unsigned char bid128_to_uint8_ceil (UINT128 x
2238 						_EXC_FLAGS_PARAM
2239 						_EXC_MASKS_PARAM
2240 						_EXC_INFO_PARAM);
2241      extern unsigned char bid128_to_uint8_xceil (UINT128 x
2242 						 _EXC_FLAGS_PARAM
2243 						 _EXC_MASKS_PARAM
2244 						 _EXC_INFO_PARAM);
2245      extern unsigned short bid128_to_uint16_rnint (UINT128 x
2246 						   _EXC_FLAGS_PARAM
2247 						   _EXC_MASKS_PARAM
2248 						   _EXC_INFO_PARAM);
2249      extern unsigned short bid128_to_uint16_xrnint (UINT128 x
2250 						    _EXC_FLAGS_PARAM
2251 						    _EXC_MASKS_PARAM
2252 						    _EXC_INFO_PARAM);
2253      extern unsigned short bid128_to_uint16_rninta (UINT128 x
2254 						    _EXC_FLAGS_PARAM
2255 						    _EXC_MASKS_PARAM
2256 						    _EXC_INFO_PARAM);
2257      extern unsigned short bid128_to_uint16_xrninta (UINT128 x
2258 						     _EXC_FLAGS_PARAM
2259 						     _EXC_MASKS_PARAM
2260 						     _EXC_INFO_PARAM);
2261      extern unsigned short bid128_to_uint16_int (UINT128 x
2262 						 _EXC_FLAGS_PARAM
2263 						 _EXC_MASKS_PARAM
2264 						 _EXC_INFO_PARAM);
2265      extern unsigned short bid128_to_uint16_xint (UINT128 x
2266 						  _EXC_FLAGS_PARAM
2267 						  _EXC_MASKS_PARAM
2268 						  _EXC_INFO_PARAM);
2269      extern unsigned short bid128_to_uint16_floor (UINT128 x
2270 						   _EXC_FLAGS_PARAM
2271 						   _EXC_MASKS_PARAM
2272 						   _EXC_INFO_PARAM);
2273      extern unsigned short bid128_to_uint16_xfloor (UINT128 x
2274 						    _EXC_FLAGS_PARAM
2275 						    _EXC_MASKS_PARAM
2276 						    _EXC_INFO_PARAM);
2277      extern unsigned short bid128_to_uint16_ceil (UINT128 x
2278 						  _EXC_FLAGS_PARAM
2279 						  _EXC_MASKS_PARAM
2280 						  _EXC_INFO_PARAM);
2281      extern unsigned short bid128_to_uint16_xceil (UINT128 x
2282 						   _EXC_FLAGS_PARAM
2283 						   _EXC_MASKS_PARAM
2284 						   _EXC_INFO_PARAM);
2285      extern int bid128_to_int32_rnint (UINT128 x _EXC_FLAGS_PARAM
2286 				       _EXC_MASKS_PARAM
2287 				       _EXC_INFO_PARAM);
2288      extern int bid128_to_int32_xrnint (UINT128 x _EXC_FLAGS_PARAM
2289 					_EXC_MASKS_PARAM
2290 					_EXC_INFO_PARAM);
2291      extern int bid128_to_int32_rninta (UINT128 x _EXC_FLAGS_PARAM
2292 					_EXC_MASKS_PARAM
2293 					_EXC_INFO_PARAM);
2294      extern int bid128_to_int32_xrninta (UINT128 x _EXC_FLAGS_PARAM
2295 					 _EXC_MASKS_PARAM
2296 					 _EXC_INFO_PARAM);
2297      extern int bid128_to_int32_int (UINT128 x _EXC_FLAGS_PARAM
2298 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2299      extern int bid128_to_int32_xint (UINT128 x _EXC_FLAGS_PARAM
2300 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2301      extern int bid128_to_int32_floor (UINT128 x _EXC_FLAGS_PARAM
2302 				       _EXC_MASKS_PARAM
2303 				       _EXC_INFO_PARAM);
2304      extern int bid128_to_int32_xfloor (UINT128 x _EXC_FLAGS_PARAM
2305 					_EXC_MASKS_PARAM
2306 					_EXC_INFO_PARAM);
2307      extern int bid128_to_int32_ceil (UINT128 x _EXC_FLAGS_PARAM
2308 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2309      extern int bid128_to_int32_xceil (UINT128 x _EXC_FLAGS_PARAM
2310 				       _EXC_MASKS_PARAM
2311 				       _EXC_INFO_PARAM);
2312      extern unsigned int bid128_to_uint32_rnint (UINT128 x
2313 						 _EXC_FLAGS_PARAM
2314 						 _EXC_MASKS_PARAM
2315 						 _EXC_INFO_PARAM);
2316      extern unsigned int bid128_to_uint32_xrnint (UINT128 x
2317 						  _EXC_FLAGS_PARAM
2318 						  _EXC_MASKS_PARAM
2319 						  _EXC_INFO_PARAM);
2320      extern unsigned int bid128_to_uint32_rninta (UINT128 x
2321 						  _EXC_FLAGS_PARAM
2322 						  _EXC_MASKS_PARAM
2323 						  _EXC_INFO_PARAM);
2324      extern unsigned int bid128_to_uint32_xrninta (UINT128 x
2325 						   _EXC_FLAGS_PARAM
2326 						   _EXC_MASKS_PARAM
2327 						   _EXC_INFO_PARAM);
2328      extern unsigned int bid128_to_uint32_int (UINT128 x
2329 					       _EXC_FLAGS_PARAM
2330 					       _EXC_MASKS_PARAM
2331 					       _EXC_INFO_PARAM);
2332      extern unsigned int bid128_to_uint32_xint (UINT128 x
2333 						_EXC_FLAGS_PARAM
2334 						_EXC_MASKS_PARAM
2335 						_EXC_INFO_PARAM);
2336      extern unsigned int bid128_to_uint32_floor (UINT128 x
2337 						 _EXC_FLAGS_PARAM
2338 						 _EXC_MASKS_PARAM
2339 						 _EXC_INFO_PARAM);
2340      extern unsigned int bid128_to_uint32_xfloor (UINT128 x
2341 						  _EXC_FLAGS_PARAM
2342 						  _EXC_MASKS_PARAM
2343 						  _EXC_INFO_PARAM);
2344      extern unsigned int bid128_to_uint32_ceil (UINT128 x
2345 						_EXC_FLAGS_PARAM
2346 						_EXC_MASKS_PARAM
2347 						_EXC_INFO_PARAM);
2348      extern unsigned int bid128_to_uint32_xceil (UINT128 x
2349 						 _EXC_FLAGS_PARAM
2350 						 _EXC_MASKS_PARAM
2351 						 _EXC_INFO_PARAM);
2352      extern SINT64 bid128_to_int64_rnint (UINT128 x _EXC_FLAGS_PARAM
2353 					  _EXC_MASKS_PARAM
2354 					  _EXC_INFO_PARAM);
2355      extern SINT64 bid128_to_int64_xrnint (UINT128 x _EXC_FLAGS_PARAM
2356 					   _EXC_MASKS_PARAM
2357 					   _EXC_INFO_PARAM);
2358      extern SINT64 bid128_to_int64_rninta (UINT128 x _EXC_FLAGS_PARAM
2359 					   _EXC_MASKS_PARAM
2360 					   _EXC_INFO_PARAM);
2361      extern SINT64 bid128_to_int64_xrninta (UINT128 x _EXC_FLAGS_PARAM
2362 					    _EXC_MASKS_PARAM
2363 					    _EXC_INFO_PARAM);
2364      extern SINT64 bid128_to_int64_int (UINT128 x _EXC_FLAGS_PARAM
2365 					_EXC_MASKS_PARAM
2366 					_EXC_INFO_PARAM);
2367      extern SINT64 bid128_to_int64_xint (UINT128 x _EXC_FLAGS_PARAM
2368 					 _EXC_MASKS_PARAM
2369 					 _EXC_INFO_PARAM);
2370      extern SINT64 bid128_to_int64_floor (UINT128 x _EXC_FLAGS_PARAM
2371 					  _EXC_MASKS_PARAM
2372 					  _EXC_INFO_PARAM);
2373      extern SINT64 bid128_to_int64_xfloor (UINT128 x _EXC_FLAGS_PARAM
2374 					   _EXC_MASKS_PARAM
2375 					   _EXC_INFO_PARAM);
2376      extern SINT64 bid128_to_int64_ceil (UINT128 x _EXC_FLAGS_PARAM
2377 					 _EXC_MASKS_PARAM
2378 					 _EXC_INFO_PARAM);
2379      extern SINT64 bid128_to_int64_xceil (UINT128 x _EXC_FLAGS_PARAM
2380 					  _EXC_MASKS_PARAM
2381 					  _EXC_INFO_PARAM);
2382      extern UINT64 bid128_to_uint64_rnint (UINT128 x _EXC_FLAGS_PARAM
2383 					   _EXC_MASKS_PARAM
2384 					   _EXC_INFO_PARAM);
2385      extern UINT64 bid128_to_uint64_xrnint (UINT128 x _EXC_FLAGS_PARAM
2386 					    _EXC_MASKS_PARAM
2387 					    _EXC_INFO_PARAM);
2388      extern UINT64 bid128_to_uint64_rninta (UINT128 x _EXC_FLAGS_PARAM
2389 					    _EXC_MASKS_PARAM
2390 					    _EXC_INFO_PARAM);
2391      extern UINT64 bid128_to_uint64_xrninta (UINT128 x _EXC_FLAGS_PARAM
2392 					     _EXC_MASKS_PARAM
2393 					     _EXC_INFO_PARAM);
2394      extern UINT64 bid128_to_uint64_int (UINT128 x _EXC_FLAGS_PARAM
2395 					 _EXC_MASKS_PARAM
2396 					 _EXC_INFO_PARAM);
2397      extern UINT64 bid128_to_uint64_xint (UINT128 x _EXC_FLAGS_PARAM
2398 					  _EXC_MASKS_PARAM
2399 					  _EXC_INFO_PARAM);
2400      extern UINT64 bid128_to_uint64_floor (UINT128 x _EXC_FLAGS_PARAM
2401 					   _EXC_MASKS_PARAM
2402 					   _EXC_INFO_PARAM);
2403      extern UINT64 bid128_to_uint64_xfloor (UINT128 x _EXC_FLAGS_PARAM
2404 					    _EXC_MASKS_PARAM
2405 					    _EXC_INFO_PARAM);
2406      extern UINT64 bid128_to_uint64_ceil (UINT128 x _EXC_FLAGS_PARAM
2407 					  _EXC_MASKS_PARAM
2408 					  _EXC_INFO_PARAM);
2409      extern UINT64 bid128_to_uint64_xceil (UINT128 x _EXC_FLAGS_PARAM
2410 					   _EXC_MASKS_PARAM
2411 					   _EXC_INFO_PARAM);
2412      extern int bid64_to_int32_rnint (UINT64 x _EXC_FLAGS_PARAM
2413 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2414      extern int bid64_to_int32_xrnint (UINT64 x _EXC_FLAGS_PARAM
2415 				       _EXC_MASKS_PARAM
2416 				       _EXC_INFO_PARAM);
2417      extern int bid64_to_int32_rninta (UINT64 x _EXC_FLAGS_PARAM
2418 				       _EXC_MASKS_PARAM
2419 				       _EXC_INFO_PARAM);
2420      extern int bid64_to_int32_xrninta (UINT64 x _EXC_FLAGS_PARAM
2421 					_EXC_MASKS_PARAM
2422 					_EXC_INFO_PARAM);
2423      extern int bid64_to_int32_int (UINT64 x _EXC_FLAGS_PARAM
2424 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2425      extern int bid64_to_int32_xint (UINT64 x _EXC_FLAGS_PARAM
2426 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2427      extern int bid64_to_int32_floor (UINT64 x _EXC_FLAGS_PARAM
2428 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2429      extern int bid64_to_int32_xfloor (UINT64 x _EXC_FLAGS_PARAM
2430 				       _EXC_MASKS_PARAM
2431 				       _EXC_INFO_PARAM);
2432      extern int bid64_to_int32_ceil (UINT64 x _EXC_FLAGS_PARAM
2433 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2434      extern int bid64_to_int32_xceil (UINT64 x _EXC_FLAGS_PARAM
2435 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2436      extern char bid64_to_int8_rnint (UINT64 x _EXC_FLAGS_PARAM
2437 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2438      extern char bid64_to_int8_xrnint (UINT64 x _EXC_FLAGS_PARAM
2439 				       _EXC_MASKS_PARAM
2440 				       _EXC_INFO_PARAM);
2441      extern char bid64_to_int8_rninta (UINT64 x _EXC_FLAGS_PARAM
2442 				       _EXC_MASKS_PARAM
2443 				       _EXC_INFO_PARAM);
2444      extern char bid64_to_int8_xrninta (UINT64 x _EXC_FLAGS_PARAM
2445 					_EXC_MASKS_PARAM
2446 					_EXC_INFO_PARAM);
2447      extern char bid64_to_int8_int (UINT64 x _EXC_FLAGS_PARAM
2448 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2449      extern char bid64_to_int8_xint (UINT64 x _EXC_FLAGS_PARAM
2450 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2451      extern char bid64_to_int8_floor (UINT64 x _EXC_FLAGS_PARAM
2452 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2453      extern char bid64_to_int8_xfloor (UINT64 x _EXC_FLAGS_PARAM
2454 				       _EXC_MASKS_PARAM
2455 				       _EXC_INFO_PARAM);
2456      extern char bid64_to_int8_ceil (UINT64 x _EXC_FLAGS_PARAM
2457 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2458      extern char bid64_to_int8_xceil (UINT64 x _EXC_FLAGS_PARAM
2459 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2460      extern short bid64_to_int16_rnint (UINT64 x _EXC_FLAGS_PARAM
2461 					_EXC_MASKS_PARAM
2462 					_EXC_INFO_PARAM);
2463      extern short bid64_to_int16_xrnint (UINT64 x _EXC_FLAGS_PARAM
2464 					 _EXC_MASKS_PARAM
2465 					 _EXC_INFO_PARAM);
2466      extern short bid64_to_int16_rninta (UINT64 x _EXC_FLAGS_PARAM
2467 					 _EXC_MASKS_PARAM
2468 					 _EXC_INFO_PARAM);
2469      extern short bid64_to_int16_xrninta (UINT64 x _EXC_FLAGS_PARAM
2470 					  _EXC_MASKS_PARAM
2471 					  _EXC_INFO_PARAM);
2472      extern short bid64_to_int16_int (UINT64 x _EXC_FLAGS_PARAM
2473 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2474      extern short bid64_to_int16_xint (UINT64 x _EXC_FLAGS_PARAM
2475 				       _EXC_MASKS_PARAM
2476 				       _EXC_INFO_PARAM);
2477      extern short bid64_to_int16_floor (UINT64 x _EXC_FLAGS_PARAM
2478 					_EXC_MASKS_PARAM
2479 					_EXC_INFO_PARAM);
2480      extern short bid64_to_int16_xfloor (UINT64 x _EXC_FLAGS_PARAM
2481 					 _EXC_MASKS_PARAM
2482 					 _EXC_INFO_PARAM);
2483      extern short bid64_to_int16_ceil (UINT64 x _EXC_FLAGS_PARAM
2484 				       _EXC_MASKS_PARAM
2485 				       _EXC_INFO_PARAM);
2486      extern short bid64_to_int16_xceil (UINT64 x _EXC_FLAGS_PARAM
2487 					_EXC_MASKS_PARAM
2488 					_EXC_INFO_PARAM);
2489      extern unsigned char bid64_to_uint8_rnint (UINT64 x
2490 						_EXC_FLAGS_PARAM
2491 						_EXC_MASKS_PARAM
2492 						_EXC_INFO_PARAM);
2493      extern unsigned char bid64_to_uint8_xrnint (UINT64 x
2494 						 _EXC_FLAGS_PARAM
2495 						 _EXC_MASKS_PARAM
2496 						 _EXC_INFO_PARAM);
2497      extern unsigned char bid64_to_uint8_rninta (UINT64 x
2498 						 _EXC_FLAGS_PARAM
2499 						 _EXC_MASKS_PARAM
2500 						 _EXC_INFO_PARAM);
2501      extern unsigned char bid64_to_uint8_xrninta (UINT64 x
2502 						  _EXC_FLAGS_PARAM
2503 						  _EXC_MASKS_PARAM
2504 						  _EXC_INFO_PARAM);
2505      extern unsigned char bid64_to_uint8_int (UINT64 x _EXC_FLAGS_PARAM
2506 					      _EXC_MASKS_PARAM
2507 					      _EXC_INFO_PARAM);
2508      extern unsigned char bid64_to_uint8_xint (UINT64 x _EXC_FLAGS_PARAM
2509 					       _EXC_MASKS_PARAM
2510 					       _EXC_INFO_PARAM);
2511      extern unsigned char bid64_to_uint8_floor (UINT64 x
2512 						_EXC_FLAGS_PARAM
2513 						_EXC_MASKS_PARAM
2514 						_EXC_INFO_PARAM);
2515      extern unsigned char bid64_to_uint8_xfloor (UINT64 x
2516 						 _EXC_FLAGS_PARAM
2517 						 _EXC_MASKS_PARAM
2518 						 _EXC_INFO_PARAM);
2519      extern unsigned char bid64_to_uint8_ceil (UINT64 x _EXC_FLAGS_PARAM
2520 					       _EXC_MASKS_PARAM
2521 					       _EXC_INFO_PARAM);
2522      extern unsigned char bid64_to_uint8_xceil (UINT64 x
2523 						_EXC_FLAGS_PARAM
2524 						_EXC_MASKS_PARAM
2525 						_EXC_INFO_PARAM);
2526      extern unsigned short bid64_to_uint16_rnint (UINT64 x
2527 						  _EXC_FLAGS_PARAM
2528 						  _EXC_MASKS_PARAM
2529 						  _EXC_INFO_PARAM);
2530      extern unsigned short bid64_to_uint16_xrnint (UINT64 x
2531 						   _EXC_FLAGS_PARAM
2532 						   _EXC_MASKS_PARAM
2533 						   _EXC_INFO_PARAM);
2534      extern unsigned short bid64_to_uint16_rninta (UINT64 x
2535 						   _EXC_FLAGS_PARAM
2536 						   _EXC_MASKS_PARAM
2537 						   _EXC_INFO_PARAM);
2538      extern unsigned short bid64_to_uint16_xrninta (UINT64 x
2539 						    _EXC_FLAGS_PARAM
2540 						    _EXC_MASKS_PARAM
2541 						    _EXC_INFO_PARAM);
2542      extern unsigned short bid64_to_uint16_int (UINT64 x
2543 						_EXC_FLAGS_PARAM
2544 						_EXC_MASKS_PARAM
2545 						_EXC_INFO_PARAM);
2546      extern unsigned short bid64_to_uint16_xint (UINT64 x
2547 						 _EXC_FLAGS_PARAM
2548 						 _EXC_MASKS_PARAM
2549 						 _EXC_INFO_PARAM);
2550      extern unsigned short bid64_to_uint16_floor (UINT64 x
2551 						  _EXC_FLAGS_PARAM
2552 						  _EXC_MASKS_PARAM
2553 						  _EXC_INFO_PARAM);
2554      extern unsigned short bid64_to_uint16_xfloor (UINT64 x
2555 						   _EXC_FLAGS_PARAM
2556 						   _EXC_MASKS_PARAM
2557 						   _EXC_INFO_PARAM);
2558      extern unsigned short bid64_to_uint16_ceil (UINT64 x
2559 						 _EXC_FLAGS_PARAM
2560 						 _EXC_MASKS_PARAM
2561 						 _EXC_INFO_PARAM);
2562      extern unsigned short bid64_to_uint16_xceil (UINT64 x
2563 						  _EXC_FLAGS_PARAM
2564 						  _EXC_MASKS_PARAM
2565 						  _EXC_INFO_PARAM);
2566      extern unsigned int bid64_to_uint32_rnint (UINT64 x
2567 						_EXC_FLAGS_PARAM
2568 						_EXC_MASKS_PARAM
2569 						_EXC_INFO_PARAM);
2570      extern unsigned int bid64_to_uint32_xrnint (UINT64 x
2571 						 _EXC_FLAGS_PARAM
2572 						 _EXC_MASKS_PARAM
2573 						 _EXC_INFO_PARAM);
2574      extern unsigned int bid64_to_uint32_rninta (UINT64 x
2575 						 _EXC_FLAGS_PARAM
2576 						 _EXC_MASKS_PARAM
2577 						 _EXC_INFO_PARAM);
2578      extern unsigned int bid64_to_uint32_xrninta (UINT64 x
2579 						  _EXC_FLAGS_PARAM
2580 						  _EXC_MASKS_PARAM
2581 						  _EXC_INFO_PARAM);
2582      extern unsigned int bid64_to_uint32_int (UINT64 x _EXC_FLAGS_PARAM
2583 					      _EXC_MASKS_PARAM
2584 					      _EXC_INFO_PARAM);
2585      extern unsigned int bid64_to_uint32_xint (UINT64 x _EXC_FLAGS_PARAM
2586 					       _EXC_MASKS_PARAM
2587 					       _EXC_INFO_PARAM);
2588      extern unsigned int bid64_to_uint32_floor (UINT64 x
2589 						_EXC_FLAGS_PARAM
2590 						_EXC_MASKS_PARAM
2591 						_EXC_INFO_PARAM);
2592      extern unsigned int bid64_to_uint32_xfloor (UINT64 x
2593 						 _EXC_FLAGS_PARAM
2594 						 _EXC_MASKS_PARAM
2595 						 _EXC_INFO_PARAM);
2596      extern unsigned int bid64_to_uint32_ceil (UINT64 x _EXC_FLAGS_PARAM
2597 					       _EXC_MASKS_PARAM
2598 					       _EXC_INFO_PARAM);
2599      extern unsigned int bid64_to_uint32_xceil (UINT64 x
2600 						_EXC_FLAGS_PARAM
2601 						_EXC_MASKS_PARAM
2602 						_EXC_INFO_PARAM);
2603      extern SINT64 bid64_to_int64_rnint (UINT64 x _EXC_FLAGS_PARAM
2604 					 _EXC_MASKS_PARAM
2605 					 _EXC_INFO_PARAM);
2606      extern SINT64 bid64_to_int64_xrnint (UINT64 x _EXC_FLAGS_PARAM
2607 					  _EXC_MASKS_PARAM
2608 					  _EXC_INFO_PARAM);
2609      extern SINT64 bid64_to_int64_rninta (UINT64 x _EXC_FLAGS_PARAM
2610 					  _EXC_MASKS_PARAM
2611 					  _EXC_INFO_PARAM);
2612      extern SINT64 bid64_to_int64_xrninta (UINT64 x _EXC_FLAGS_PARAM
2613 					   _EXC_MASKS_PARAM
2614 					   _EXC_INFO_PARAM);
2615      extern SINT64 bid64_to_int64_int (UINT64 x _EXC_FLAGS_PARAM
2616 				       _EXC_MASKS_PARAM
2617 				       _EXC_INFO_PARAM);
2618      extern SINT64 bid64_to_int64_xint (UINT64 x _EXC_FLAGS_PARAM
2619 					_EXC_MASKS_PARAM
2620 					_EXC_INFO_PARAM);
2621      extern SINT64 bid64_to_int64_floor (UINT64 x _EXC_FLAGS_PARAM
2622 					 _EXC_MASKS_PARAM
2623 					 _EXC_INFO_PARAM);
2624      extern SINT64 bid64_to_int64_xfloor (UINT64 x _EXC_FLAGS_PARAM
2625 					  _EXC_MASKS_PARAM
2626 					  _EXC_INFO_PARAM);
2627      extern SINT64 bid64_to_int64_ceil (UINT64 x _EXC_FLAGS_PARAM
2628 					_EXC_MASKS_PARAM
2629 					_EXC_INFO_PARAM);
2630      extern SINT64 bid64_to_int64_xceil (UINT64 x _EXC_FLAGS_PARAM
2631 					 _EXC_MASKS_PARAM
2632 					 _EXC_INFO_PARAM);
2633      extern UINT64 bid64_to_uint64_rnint (UINT64 x _EXC_FLAGS_PARAM
2634 					  _EXC_MASKS_PARAM
2635 					  _EXC_INFO_PARAM);
2636      extern UINT64 bid64_to_uint64_xrnint (UINT64 x _EXC_FLAGS_PARAM
2637 					   _EXC_MASKS_PARAM
2638 					   _EXC_INFO_PARAM);
2639      extern UINT64 bid64_to_uint64_rninta (UINT64 x _EXC_FLAGS_PARAM
2640 					   _EXC_MASKS_PARAM
2641 					   _EXC_INFO_PARAM);
2642      extern UINT64 bid64_to_uint64_xrninta (UINT64 x _EXC_FLAGS_PARAM
2643 					    _EXC_MASKS_PARAM
2644 					    _EXC_INFO_PARAM);
2645      extern UINT64 bid64_to_uint64_int (UINT64 x _EXC_FLAGS_PARAM
2646 					_EXC_MASKS_PARAM
2647 					_EXC_INFO_PARAM);
2648      extern UINT64 bid64_to_uint64_xint (UINT64 x _EXC_FLAGS_PARAM
2649 					 _EXC_MASKS_PARAM
2650 					 _EXC_INFO_PARAM);
2651      extern UINT64 bid64_to_uint64_floor (UINT64 x _EXC_FLAGS_PARAM
2652 					  _EXC_MASKS_PARAM
2653 					  _EXC_INFO_PARAM);
2654      extern UINT64 bid64_to_uint64_xfloor (UINT64 x _EXC_FLAGS_PARAM
2655 					   _EXC_MASKS_PARAM
2656 					   _EXC_INFO_PARAM);
2657      extern UINT64 bid64_to_uint64_ceil (UINT64 x _EXC_FLAGS_PARAM
2658 					 _EXC_MASKS_PARAM
2659 					 _EXC_INFO_PARAM);
2660      extern UINT64 bid64_to_uint64_xceil (UINT64 x _EXC_FLAGS_PARAM
2661 					  _EXC_MASKS_PARAM
2662 					  _EXC_INFO_PARAM);
2663 
2664      extern int bid64_quiet_equal (UINT64 x, UINT64 y
2665 				   _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2666 				   _EXC_INFO_PARAM);
2667      extern int bid64_quiet_greater (UINT64 x,
2668 				     UINT64 y _EXC_FLAGS_PARAM
2669 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2670      extern int bid64_quiet_greater_equal (UINT64 x,
2671 					   UINT64 y _EXC_FLAGS_PARAM
2672 					   _EXC_MASKS_PARAM
2673 					   _EXC_INFO_PARAM);
2674      extern int bid64_quiet_greater_unordered (UINT64 x,
2675 					       UINT64 y _EXC_FLAGS_PARAM
2676 					       _EXC_MASKS_PARAM
2677 					       _EXC_INFO_PARAM);
2678      extern int bid64_quiet_less (UINT64 x,
2679 				  UINT64 y _EXC_FLAGS_PARAM
2680 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2681      extern int bid64_quiet_less_equal (UINT64 x,
2682 					UINT64 y _EXC_FLAGS_PARAM
2683 					_EXC_MASKS_PARAM
2684 					_EXC_INFO_PARAM);
2685      extern int bid64_quiet_less_unordered (UINT64 x,
2686 					    UINT64 y _EXC_FLAGS_PARAM
2687 					    _EXC_MASKS_PARAM
2688 					    _EXC_INFO_PARAM);
2689      extern int bid64_quiet_not_equal (UINT64 x,
2690 				       UINT64 y _EXC_FLAGS_PARAM
2691 				       _EXC_MASKS_PARAM
2692 				       _EXC_INFO_PARAM);
2693      extern int bid64_quiet_not_greater (UINT64 x,
2694 					 UINT64 y _EXC_FLAGS_PARAM
2695 					 _EXC_MASKS_PARAM
2696 					 _EXC_INFO_PARAM);
2697      extern int bid64_quiet_not_less (UINT64 x,
2698 				      UINT64 y _EXC_FLAGS_PARAM
2699 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2700      extern int bid64_quiet_ordered (UINT64 x,
2701 				     UINT64 y _EXC_FLAGS_PARAM
2702 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2703      extern int bid64_quiet_unordered (UINT64 x,
2704 				       UINT64 y _EXC_FLAGS_PARAM
2705 				       _EXC_MASKS_PARAM
2706 				       _EXC_INFO_PARAM);
2707      extern int bid64_signaling_greater (UINT64 x,
2708 					 UINT64 y _EXC_FLAGS_PARAM
2709 					 _EXC_MASKS_PARAM
2710 					 _EXC_INFO_PARAM);
2711      extern int bid64_signaling_greater_equal (UINT64 x,
2712 					       UINT64 y _EXC_FLAGS_PARAM
2713 					       _EXC_MASKS_PARAM
2714 					       _EXC_INFO_PARAM);
2715      extern int bid64_signaling_greater_unordered (UINT64 x,
2716 						   UINT64 y
2717 						   _EXC_FLAGS_PARAM
2718 						   _EXC_MASKS_PARAM
2719 						   _EXC_INFO_PARAM);
2720      extern int bid64_signaling_less (UINT64 x,
2721 				      UINT64 y _EXC_FLAGS_PARAM
2722 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2723      extern int bid64_signaling_less_equal (UINT64 x,
2724 					    UINT64 y _EXC_FLAGS_PARAM
2725 					    _EXC_MASKS_PARAM
2726 					    _EXC_INFO_PARAM);
2727      extern int bid64_signaling_less_unordered (UINT64 x,
2728 						UINT64 y
2729 						_EXC_FLAGS_PARAM
2730 						_EXC_MASKS_PARAM
2731 						_EXC_INFO_PARAM);
2732      extern int bid64_signaling_not_greater (UINT64 x,
2733 					     UINT64 y _EXC_FLAGS_PARAM
2734 					     _EXC_MASKS_PARAM
2735 					     _EXC_INFO_PARAM);
2736      extern int bid64_signaling_not_less (UINT64 x,
2737 					  UINT64 y _EXC_FLAGS_PARAM
2738 					  _EXC_MASKS_PARAM
2739 					  _EXC_INFO_PARAM);
2740 
2741      extern int bid128_quiet_equal (UINT128 x, UINT128 y
2742 				    _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2743 				    _EXC_INFO_PARAM);
2744      extern int bid128_quiet_greater (UINT128 x,
2745 				      UINT128 y _EXC_FLAGS_PARAM
2746 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2747      extern int bid128_quiet_greater_equal (UINT128 x,
2748 					    UINT128 y _EXC_FLAGS_PARAM
2749 					    _EXC_MASKS_PARAM
2750 					    _EXC_INFO_PARAM);
2751      extern int bid128_quiet_greater_unordered (UINT128 x,
2752 						UINT128 y
2753 						_EXC_FLAGS_PARAM
2754 						_EXC_MASKS_PARAM
2755 						_EXC_INFO_PARAM);
2756      extern int bid128_quiet_less (UINT128 x,
2757 				   UINT128 y _EXC_FLAGS_PARAM
2758 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2759      extern int bid128_quiet_less_equal (UINT128 x,
2760 					 UINT128 y _EXC_FLAGS_PARAM
2761 					 _EXC_MASKS_PARAM
2762 					 _EXC_INFO_PARAM);
2763      extern int bid128_quiet_less_unordered (UINT128 x,
2764 					     UINT128 y _EXC_FLAGS_PARAM
2765 					     _EXC_MASKS_PARAM
2766 					     _EXC_INFO_PARAM);
2767      extern int bid128_quiet_not_equal (UINT128 x,
2768 					UINT128 y _EXC_FLAGS_PARAM
2769 					_EXC_MASKS_PARAM
2770 					_EXC_INFO_PARAM);
2771      extern int bid128_quiet_not_greater (UINT128 x,
2772 					  UINT128 y _EXC_FLAGS_PARAM
2773 					  _EXC_MASKS_PARAM
2774 					  _EXC_INFO_PARAM);
2775      extern int bid128_quiet_not_less (UINT128 x,
2776 				       UINT128 y _EXC_FLAGS_PARAM
2777 				       _EXC_MASKS_PARAM
2778 				       _EXC_INFO_PARAM);
2779      extern int bid128_quiet_ordered (UINT128 x,
2780 				      UINT128 y _EXC_FLAGS_PARAM
2781 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2782      extern int bid128_quiet_unordered (UINT128 x,
2783 					UINT128 y _EXC_FLAGS_PARAM
2784 					_EXC_MASKS_PARAM
2785 					_EXC_INFO_PARAM);
2786      extern int bid128_signaling_greater (UINT128 x,
2787 					  UINT128 y _EXC_FLAGS_PARAM
2788 					  _EXC_MASKS_PARAM
2789 					  _EXC_INFO_PARAM);
2790      extern int bid128_signaling_greater_equal (UINT128 x,
2791 						UINT128 y
2792 						_EXC_FLAGS_PARAM
2793 						_EXC_MASKS_PARAM
2794 						_EXC_INFO_PARAM);
2795      extern int bid128_signaling_greater_unordered (UINT128 x,
2796 						    UINT128 y
2797 						    _EXC_FLAGS_PARAM
2798 						    _EXC_MASKS_PARAM
2799 						    _EXC_INFO_PARAM);
2800      extern int bid128_signaling_less (UINT128 x,
2801 				       UINT128 y _EXC_FLAGS_PARAM
2802 				       _EXC_MASKS_PARAM
2803 				       _EXC_INFO_PARAM);
2804      extern int bid128_signaling_less_equal (UINT128 x,
2805 					     UINT128 y _EXC_FLAGS_PARAM
2806 					     _EXC_MASKS_PARAM
2807 					     _EXC_INFO_PARAM);
2808      extern int bid128_signaling_less_unordered (UINT128 x,
2809 						 UINT128 y
2810 						 _EXC_FLAGS_PARAM
2811 						 _EXC_MASKS_PARAM
2812 						 _EXC_INFO_PARAM);
2813      extern int bid128_signaling_not_greater (UINT128 x,
2814 					      UINT128 y _EXC_FLAGS_PARAM
2815 					      _EXC_MASKS_PARAM
2816 					      _EXC_INFO_PARAM);
2817      extern int bid128_signaling_not_less (UINT128 x,
2818 					   UINT128 y _EXC_FLAGS_PARAM
2819 					   _EXC_MASKS_PARAM
2820 					   _EXC_INFO_PARAM);
2821 
2822      extern UINT64 bid64_round_integral_exact (UINT64 x
2823 					       _RND_MODE_PARAM
2824 					       _EXC_FLAGS_PARAM
2825 					       _EXC_MASKS_PARAM
2826 					       _EXC_INFO_PARAM);
2827      extern UINT64 bid64_round_integral_nearest_even (UINT64 x
2828 						      _EXC_FLAGS_PARAM
2829 						      _EXC_MASKS_PARAM
2830 						      _EXC_INFO_PARAM);
2831      extern UINT64 bid64_round_integral_negative (UINT64 x
2832 						  _EXC_FLAGS_PARAM
2833 						  _EXC_MASKS_PARAM
2834 						  _EXC_INFO_PARAM);
2835      extern UINT64 bid64_round_integral_positive (UINT64 x
2836 						  _EXC_FLAGS_PARAM
2837 						  _EXC_MASKS_PARAM
2838 						  _EXC_INFO_PARAM);
2839      extern UINT64 bid64_round_integral_zero (UINT64 x _EXC_FLAGS_PARAM
2840 					      _EXC_MASKS_PARAM
2841 					      _EXC_INFO_PARAM);
2842      extern UINT64 bid64_round_integral_nearest_away (UINT64 x
2843 						      _EXC_FLAGS_PARAM
2844 						      _EXC_MASKS_PARAM
2845 						      _EXC_INFO_PARAM);
2846 
2847      extern UINT128 bid128_round_integral_exact (UINT128 x
2848 						 _RND_MODE_PARAM
2849 						 _EXC_FLAGS_PARAM
2850 						 _EXC_MASKS_PARAM
2851 						 _EXC_INFO_PARAM);
2852      extern UINT128 bid128_round_integral_nearest_even (UINT128 x
2853 							_EXC_FLAGS_PARAM
2854 							_EXC_MASKS_PARAM
2855 							_EXC_INFO_PARAM);
2856      extern UINT128 bid128_round_integral_negative (UINT128 x
2857 						    _EXC_FLAGS_PARAM
2858 						    _EXC_MASKS_PARAM
2859 						    _EXC_INFO_PARAM);
2860      extern UINT128 bid128_round_integral_positive (UINT128 x
2861 						    _EXC_FLAGS_PARAM
2862 						    _EXC_MASKS_PARAM
2863 						    _EXC_INFO_PARAM);
2864      extern UINT128 bid128_round_integral_zero (UINT128 x
2865 						_EXC_FLAGS_PARAM
2866 						_EXC_MASKS_PARAM
2867 						_EXC_INFO_PARAM);
2868      extern UINT128 bid128_round_integral_nearest_away (UINT128 x
2869 							_EXC_FLAGS_PARAM
2870 							_EXC_MASKS_PARAM
2871 							_EXC_INFO_PARAM);
2872 
2873      extern UINT64 bid64_nextup (UINT64 x
2874 				 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2875 				 _EXC_INFO_PARAM);
2876      extern UINT64 bid64_nextdown (UINT64 x _EXC_FLAGS_PARAM
2877 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2878      extern UINT64 bid64_nextafter (UINT64 x,
2879 				    UINT64 y _EXC_FLAGS_PARAM
2880 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2881 
2882      extern UINT128 bid128_nextup (UINT128 x
2883 				   _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2884 				   _EXC_INFO_PARAM);
2885      extern UINT128 bid128_nextdown (UINT128 x _EXC_FLAGS_PARAM
2886 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2887      extern UINT128 bid128_nextafter (UINT128 x,
2888 				      UINT128 y _EXC_FLAGS_PARAM
2889 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2890 
2891      extern UINT64 bid64_minnum (UINT64 x, UINT64 y _EXC_FLAGS_PARAM);
2892      extern UINT64 bid64_minnum_mag (UINT64 x,
2893 				     UINT64 y _EXC_FLAGS_PARAM);
2894      extern UINT64 bid64_maxnum (UINT64 x, UINT64 y _EXC_FLAGS_PARAM);
2895      extern UINT64 bid64_maxnum_mag (UINT64 x,
2896 				     UINT64 y _EXC_FLAGS_PARAM);
2897 
2898      extern UINT128 bid128_minnum (UINT128 x,
2899 				   UINT128 y _EXC_FLAGS_PARAM);
2900      extern UINT128 bid128_minnum_mag (UINT128 x,
2901 				       UINT128 y _EXC_FLAGS_PARAM);
2902      extern UINT128 bid128_maxnum (UINT128 x,
2903 				   UINT128 y _EXC_FLAGS_PARAM);
2904      extern UINT128 bid128_maxnum_mag (UINT128 x,
2905 				       UINT128 y _EXC_FLAGS_PARAM);
2906 
2907      extern UINT64 bid64_from_int32 (int x _EXC_MASKS_PARAM
2908 				     _EXC_INFO_PARAM);
2909      extern UINT64 bid64_from_uint32 (unsigned int x _EXC_MASKS_PARAM
2910 				      _EXC_INFO_PARAM);
2911      extern UINT64 bid64_from_int64 (SINT64 x _RND_MODE_PARAM
2912 				     _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2913 				     _EXC_INFO_PARAM);
2914      extern UINT64 bid64_from_uint64 (UINT64 _RND_MODE_PARAM
2915 				      _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2916 				      _EXC_INFO_PARAM);
2917      extern UINT128 bid128_from_int32 (int x _EXC_MASKS_PARAM
2918 				       _EXC_INFO_PARAM);
2919      extern UINT128 bid128_from_uint32 (unsigned int x _EXC_MASKS_PARAM
2920 					_EXC_INFO_PARAM);
2921      extern UINT128 bid128_from_int64 (SINT64 x _EXC_MASKS_PARAM
2922 				       _EXC_INFO_PARAM);
2923      extern UINT128 bid128_from_uint64 (UINT64 x _EXC_MASKS_PARAM
2924 					_EXC_INFO_PARAM);
2925 
2926      extern int bid64_isSigned (UINT64 x _EXC_MASKS_PARAM
2927 				_EXC_INFO_PARAM);
2928      extern int bid64_isNormal (UINT64 x _EXC_MASKS_PARAM
2929 				_EXC_INFO_PARAM);
2930      extern int bid64_isSubnormal (UINT64 x _EXC_MASKS_PARAM
2931 				   _EXC_INFO_PARAM);
2932      extern int bid64_isFinite (UINT64 x _EXC_MASKS_PARAM
2933 				_EXC_INFO_PARAM);
2934      extern int bid64_isZero (UINT64 x _EXC_MASKS_PARAM
2935 			      _EXC_INFO_PARAM);
2936      extern int bid64_isInf (UINT64 x _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2937      extern int bid64_isSignaling (UINT64 x _EXC_MASKS_PARAM
2938 				   _EXC_INFO_PARAM);
2939      extern int bid64_isCanonical (UINT64 x _EXC_MASKS_PARAM
2940 				   _EXC_INFO_PARAM);
2941      extern int bid64_isNaN (UINT64 x _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2942      extern UINT64 bid64_copy (UINT64 x _EXC_MASKS_PARAM
2943 			       _EXC_INFO_PARAM);
2944      extern UINT64 bid64_negate (UINT64 x _EXC_MASKS_PARAM
2945 				 _EXC_INFO_PARAM);
2946      extern UINT64 bid64_abs (UINT64 x _EXC_MASKS_PARAM
2947 			      _EXC_INFO_PARAM);
2948      extern UINT64 bid64_copySign (UINT64 x,
2949 				   UINT64 y _EXC_MASKS_PARAM
2950 				   _EXC_INFO_PARAM);
2951      extern int bid64_class (UINT64 x _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2952      extern int bid64_sameQuantum (UINT64 x, UINT64 y
2953 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2954      extern int bid64_totalOrder (UINT64 x, UINT64 y
2955 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2956      extern int bid64_totalOrderMag (UINT64 x, UINT64 y
2957 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2958      extern int bid64_radix (UINT64 x _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2959 
2960      extern int bid128_isSigned (UINT128 x _EXC_MASKS_PARAM
2961 				 _EXC_INFO_PARAM);
2962      extern int bid128_isNormal (UINT128 x _EXC_MASKS_PARAM
2963 				 _EXC_INFO_PARAM);
2964      extern int bid128_isSubnormal (UINT128 x _EXC_MASKS_PARAM
2965 				    _EXC_INFO_PARAM);
2966      extern int bid128_isFinite (UINT128 x _EXC_MASKS_PARAM
2967 				 _EXC_INFO_PARAM);
2968      extern int bid128_isZero (UINT128 x _EXC_MASKS_PARAM
2969 			       _EXC_INFO_PARAM);
2970      extern int bid128_isInf (UINT128 x _EXC_MASKS_PARAM
2971 			      _EXC_INFO_PARAM);
2972      extern int bid128_isSignaling (UINT128 x _EXC_MASKS_PARAM
2973 				    _EXC_INFO_PARAM);
2974      extern int bid128_isCanonical (UINT128 x _EXC_MASKS_PARAM
2975 				    _EXC_INFO_PARAM);
2976      extern int bid128_isNaN (UINT128 x _EXC_MASKS_PARAM
2977 			      _EXC_INFO_PARAM);
2978      extern UINT128 bid128_copy (UINT128 x _EXC_MASKS_PARAM
2979 				 _EXC_INFO_PARAM);
2980      extern UINT128 bid128_negate (UINT128 x _EXC_MASKS_PARAM
2981 				   _EXC_INFO_PARAM);
2982      extern UINT128 bid128_abs (UINT128 x _EXC_MASKS_PARAM
2983 				_EXC_INFO_PARAM);
2984      extern UINT128 bid128_copySign (UINT128 x,
2985 				     UINT128 y _EXC_MASKS_PARAM
2986 				     _EXC_INFO_PARAM);
2987      extern int bid128_class (UINT128 x _EXC_MASKS_PARAM
2988 			      _EXC_INFO_PARAM);
2989      extern int bid128_sameQuantum (UINT128 x,
2990 				    UINT128 y _EXC_MASKS_PARAM
2991 				    _EXC_INFO_PARAM);
2992      extern int bid128_totalOrder (UINT128 x,
2993 				   UINT128 y _EXC_MASKS_PARAM
2994 				   _EXC_INFO_PARAM);
2995      extern int bid128_totalOrderMag (UINT128 x,
2996 				      UINT128 y _EXC_MASKS_PARAM
2997 				      _EXC_INFO_PARAM);
2998      extern int bid128_radix (UINT128 x _EXC_MASKS_PARAM
2999 			      _EXC_INFO_PARAM);
3000 
3001      extern UINT64 bid64_rem (UINT64 x, UINT64 y
3002 			      _EXC_FLAGS_PARAM
3003 			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3004      extern int bid64_logb (UINT64 x _EXC_FLAGS_PARAM
3005 			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3006      extern UINT64 bid64_scalb (UINT64 x,
3007 				int n _RND_MODE_PARAM _EXC_FLAGS_PARAM
3008 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
3009 
3010      extern UINT128 bid128_rem (UINT128 x, UINT128 y
3011 				_EXC_FLAGS_PARAM
3012 				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
3013      extern int bid128_logb (UINT128 x
3014 				 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
3015 				 _EXC_INFO_PARAM);
3016      extern UINT128 bid128_scalb (UINT128 x,
3017 				  int n _RND_MODE_PARAM _EXC_FLAGS_PARAM
3018 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3019 
3020      extern UINT64 bid32_to_bid64 (UINT32 x _EXC_FLAGS_PARAM
3021 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3022      extern UINT128 bid32_to_bid128 (UINT32 x _EXC_FLAGS_PARAM
3023 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3024      extern UINT128 bid64_to_bid128 (UINT64 x _EXC_FLAGS_PARAM
3025 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3026      extern UINT32 bid64_to_bid32 (UINT64 x
3027 				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
3028 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3029      extern UINT32 bid128_to_bid32 (UINT128 x _RND_MODE_PARAM
3030 				    _EXC_FLAGS_PARAM
3031 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3032      extern UINT64 bid128_to_bid64 (UINT128 x _RND_MODE_PARAM
3033 				    _EXC_FLAGS_PARAM
3034 				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3035 
3036      extern void bid64_to_string (char *ps, UINT64 x
3037 				  _EXC_FLAGS_PARAM
3038 				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3039      extern UINT64 bid64_from_string (char *ps
3040 				      _RND_MODE_PARAM _EXC_FLAGS_PARAM
3041 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3042      extern void bid128_to_string (char *str, UINT128 x
3043 				   _EXC_FLAGS_PARAM
3044 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3045      extern UINT128 bid128_from_string (char *ps
3046 					_RND_MODE_PARAM _EXC_FLAGS_PARAM
3047 					_EXC_MASKS_PARAM
3048 					_EXC_INFO_PARAM);
3049 
3050      extern UINT64 bid64_quantize (UINT64 x, UINT64 y
3051 				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
3052 				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3053 
3054      extern UINT128 bid128_quantize (UINT128 x, UINT128 y
3055 				     _RND_MODE_PARAM
3056 				     _EXC_FLAGS_PARAM
3057 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3058 
3059 
3060      extern UINT32 binary128_to_bid32 (BINARY128 x
3061 				       _RND_MODE_PARAM
3062 				       _EXC_FLAGS_PARAM
3063 				       _EXC_MASKS_PARAM
3064 				       _EXC_INFO_PARAM);
3065 
3066      extern UINT64 binary128_to_bid64 (BINARY128 x
3067 				       _RND_MODE_PARAM
3068 				       _EXC_FLAGS_PARAM
3069 				       _EXC_MASKS_PARAM
3070 				       _EXC_INFO_PARAM);
3071 
3072      extern UINT128 binary128_to_bid128 (BINARY128 x
3073 					 _RND_MODE_PARAM
3074 					 _EXC_FLAGS_PARAM
3075 					 _EXC_MASKS_PARAM
3076 					 _EXC_INFO_PARAM);
3077 
3078      extern UINT32 binary64_to_bid32 (double x
3079 				      _RND_MODE_PARAM
3080 				      _EXC_FLAGS_PARAM
3081 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3082 
3083      extern UINT64 binary64_to_bid64 (double x
3084 				      _RND_MODE_PARAM
3085 				      _EXC_FLAGS_PARAM
3086 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3087 
3088      extern UINT128 binary64_to_bid128 (double x
3089 					_RND_MODE_PARAM
3090 					_EXC_FLAGS_PARAM
3091 					_EXC_MASKS_PARAM
3092 					_EXC_INFO_PARAM);
3093 
3094      extern UINT32 binary80_to_bid32 (BINARY80 x
3095 				      _RND_MODE_PARAM
3096 				      _EXC_FLAGS_PARAM
3097 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3098 
3099      extern UINT64 binary80_to_bid64 (BINARY80 x
3100 				      _RND_MODE_PARAM
3101 				      _EXC_FLAGS_PARAM
3102 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3103 
3104      extern UINT128 binary80_to_bid128 (BINARY80 x
3105 					_RND_MODE_PARAM
3106 					_EXC_FLAGS_PARAM
3107 					_EXC_MASKS_PARAM
3108 					_EXC_INFO_PARAM);
3109 
3110      extern UINT32 binary32_to_bid32 (float x
3111 				      _RND_MODE_PARAM
3112 				      _EXC_FLAGS_PARAM
3113 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3114 
3115      extern UINT64 binary32_to_bid64 (float x
3116 				      _RND_MODE_PARAM
3117 				      _EXC_FLAGS_PARAM
3118 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3119 
3120      extern UINT128 binary32_to_bid128 (float x
3121 					_RND_MODE_PARAM
3122 					_EXC_FLAGS_PARAM
3123 					_EXC_MASKS_PARAM
3124 					_EXC_INFO_PARAM);
3125 
3126      extern float bid128_to_binary32 (UINT128 x
3127 				      _RND_MODE_PARAM _EXC_FLAGS_PARAM
3128 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3129 
3130      extern double bid128_to_binary64 (UINT128 x
3131 				       _RND_MODE_PARAM _EXC_FLAGS_PARAM
3132 				       _EXC_MASKS_PARAM
3133 				       _EXC_INFO_PARAM);
3134 
3135      extern BINARY80 bid128_to_binary80 (UINT128 x
3136 					 _RND_MODE_PARAM
3137 					 _EXC_FLAGS_PARAM
3138 					 _EXC_MASKS_PARAM
3139 					 _EXC_INFO_PARAM);
3140 
3141      extern BINARY128 bid128_to_binary128 (UINT128 x
3142 					   _RND_MODE_PARAM
3143 					   _EXC_FLAGS_PARAM
3144 					   _EXC_MASKS_PARAM
3145 					   _EXC_INFO_PARAM);
3146 
3147      extern float bid64_to_binary32 (UINT64 x
3148 				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
3149 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3150 
3151      extern double bid64_to_binary64 (UINT64 x
3152 				      _RND_MODE_PARAM _EXC_FLAGS_PARAM
3153 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3154 
3155      extern BINARY80 bid64_to_binary80 (UINT64 x
3156 					_RND_MODE_PARAM
3157 					_EXC_FLAGS_PARAM
3158 					_EXC_MASKS_PARAM
3159 					_EXC_INFO_PARAM);
3160 
3161      extern BINARY128 bid64_to_binary128 (UINT64 x
3162 					  _RND_MODE_PARAM
3163 					  _EXC_FLAGS_PARAM
3164 					  _EXC_MASKS_PARAM
3165 					  _EXC_INFO_PARAM);
3166 
3167      extern float bid32_to_binary32 (UINT32 x
3168 				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
3169 				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3170 
3171      extern double bid32_to_binary64 (UINT32 x
3172 				      _RND_MODE_PARAM _EXC_FLAGS_PARAM
3173 				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3174 
3175      extern BINARY80 bid32_to_binary80 (UINT32 x
3176 					_RND_MODE_PARAM
3177 					_EXC_FLAGS_PARAM
3178 					_EXC_MASKS_PARAM
3179 					_EXC_INFO_PARAM);
3180 
3181      extern BINARY128 bid32_to_binary128 (UINT32 x
3182 					  _RND_MODE_PARAM
3183 					  _EXC_FLAGS_PARAM
3184 					  _EXC_MASKS_PARAM
3185 					  _EXC_INFO_PARAM);
3186 
3187      extern int is754 (void);
3188 
3189      extern int is754R (void);
3190 
3191      extern void signalException (_IDEC_flags flagsmask
3192 				  _EXC_FLAGS_PARAM);
3193 
3194      extern void lowerFlags (_IDEC_flags flagsmask _EXC_FLAGS_PARAM);
3195 
3196      extern _IDEC_flags testFlags (_IDEC_flags flagsmask
3197 				   _EXC_FLAGS_PARAM);
3198 
3199      extern _IDEC_flags testSavedFlags (_IDEC_flags savedflags,
3200 					_IDEC_flags flagsmask);
3201 
3202      extern void restoreFlags (_IDEC_flags flagsvalues,
3203 			       _IDEC_flags flagsmask _EXC_FLAGS_PARAM);
3204 
3205      extern _IDEC_flags saveFlags (_IDEC_flags flagsmask
3206 				   _EXC_FLAGS_PARAM);
3207 
3208 #if !DECIMAL_GLOBAL_ROUNDING
3209      _IDEC_round getDecimalRoundingDirection (_IDEC_round rnd_mode);
3210 #else
3211      _IDEC_round getDecimalRoundingDirection (void);
3212 #endif
3213 
3214 #if !DECIMAL_GLOBAL_ROUNDING
3215      _IDEC_round setDecimalRoundingDirection (_IDEC_round
3216 					      rounding_mode
3217 					      _RND_MODE_PARAM);
3218 #else
3219      void setDecimalRoundingDirection (_IDEC_round rounding_mode);
3220 #endif
3221 
3222 #endif
3223 
3224 // Internal Functions
3225 
3226      extern void
3227        round64_2_18 (int q,
3228 		     int x,
3229 		     UINT64 C,
3230 		     UINT64 * ptr_Cstar,
3231 		     int *delta_exp,
3232 		     int *ptr_is_midpoint_lt_even,
3233 		     int *ptr_is_midpoint_gt_even,
3234 		     int *ptr_is_inexact_lt_midpoint,
3235 		     int *ptr_is_inexact_gt_midpoint);
3236 
3237      extern void
3238        round128_19_38 (int q,
3239 		       int x,
3240 		       UINT128 C,
3241 		       UINT128 * ptr_Cstar,
3242 		       int *delta_exp,
3243 		       int *ptr_is_midpoint_lt_even,
3244 		       int *ptr_is_midpoint_gt_even,
3245 		       int *ptr_is_inexact_lt_midpoint,
3246 		       int *ptr_is_inexact_gt_midpoint);
3247 
3248      extern void
3249        round192_39_57 (int q,
3250 		       int x,
3251 		       UINT192 C,
3252 		       UINT192 * ptr_Cstar,
3253 		       int *delta_exp,
3254 		       int *ptr_is_midpoint_lt_even,
3255 		       int *ptr_is_midpoint_gt_even,
3256 		       int *ptr_is_inexact_lt_midpoint,
3257 		       int *ptr_is_inexact_gt_midpoint);
3258 
3259      extern void
3260        round256_58_76 (int q,
3261 		       int x,
3262 		       UINT256 C,
3263 		       UINT256 * ptr_Cstar,
3264 		       int *delta_exp,
3265 		       int *ptr_is_midpoint_lt_even,
3266 		       int *ptr_is_midpoint_gt_even,
3267 		       int *ptr_is_inexact_lt_midpoint,
3268 		       int *ptr_is_inexact_gt_midpoint);
3269 
3270 #endif
3271 
3272 // Prototypes for Internal Functions
3273 
3274      extern UINT32 bid_to_bid32 (UINT32);
3275      extern UINT64 bid_to_bid64 (UINT64);
3276      extern UINT128 bid_to_bid128 (UINT128);
3277      extern UINT32 bid32_canonize (UINT32);
3278      extern UINT64 bid64_canonize (UINT64);
3279      extern UINT128 bid128_canonize (UINT128);
3280