/* Copyright (C) 2007-2018 Free Software Foundation, Inc.

This file is part of GCC.

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

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

Under Section 7 of GPL version 3, you are granted additional
permissions described in the GCC Runtime Library Exception, version
3.1, as published by the Free Software Foundation.

You should have received a copy of the GNU General Public License and
a copy of the GCC Runtime Library Exception along with this program;
see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
<http://www.gnu.org/licenses/>.  */

#ifndef _BID_FUNCTIONS_H
#define _BID_FUNCTIONS_H

#ifdef IN_LIBGCC2
// When we are built as the part of the gcc runtime library, libgcc,
// we will use gcc types defined in bid_gcc_intrinsics.h.
#include "bid_gcc_intrinsics.h"

#define ALIGN(n) __attribute__ ((aligned(n)))
#else
typedef char SINT8;
typedef unsigned char UINT8;
typedef unsigned UINT32;
typedef signed SINT32;

#ifdef __GNUC__
#define __int64 long long
#endif

#if __GNUC__ || defined LINUX || defined SUNOS
typedef unsigned long long UINT64;
typedef signed long long SINT64;
#else
typedef unsigned __int64 UINT64;
typedef signed __int64 SINT64;
#endif

#if defined _MSC_VER
#if defined _M_IX86 && !defined __INTEL_COMPILER	// Win IA-32, MS compiler
#define ALIGN(n)
#else
#define ALIGN(n) __declspec(align(n))
#endif
#else
#define ALIGN(n) __attribute__ ((aligned(n)))
#endif

// bid_gcc_intrinsics.h will also define this.
typedef
ALIGN (16)
     struct {
       UINT64 w[2];
     } UINT128;
#endif


#if !defined _MSC_VER || defined __INTEL_COMPILER
#define __ENABLE_BINARY80__  1
#endif

#ifndef HPUX_OS
#define BINARY80 long double
#define BINARY128 UINT128
#define SQRT80 sqrtl
#else
#define BINARY80 __float80
#define BINARY128 __float128
#define SQRT80 sqrtw
#endif

     typedef ALIGN (16)
     struct {
       UINT64 w[3];
     } UINT192;
     typedef ALIGN (16)
     struct {
       UINT64 w[4];
     } UINT256;
     typedef unsigned int FPSC;	// floating-point status and control

// TYPE parameters
#define BID128_MAXDIGITS	34
#define BID64_MAXDIGITS		16
#define BID32_MAXDIGITS		7

// rounding modes
#define ROUNDING_TO_NEAREST	0x00000
#define ROUNDING_DOWN		0x00001
#define ROUNDING_UP		0x00002
#define ROUNDING_TO_ZERO	0x00003
#define ROUNDING_TIES_AWAY      0x00004

#define RMODE_MASK (ROUNDING_TO_NEAREST | ROUNDING_DOWN | ROUNDING_UP | ROUNDING_TO_ZERO | ROUNDING_TIES_AWAY)

// status
#define FLAG_MASK	        0x0000003f
#define BID_IEEE_FLAGS		0x0000003d
#define EXACT_STATUS            0x00000000
#define INEXACT_EXCEPTION	0x00000020
#define UNDERFLOW_EXCEPTION	0x00000010
#define OVERFLOW_EXCEPTION	0x00000008
#define ZERO_DIVIDE_EXCEPTION	0x00000004
#define DENORMAL_EXCEPTION	0x00000002
#define INVALID_EXCEPTION	0x00000001

#define MODE_MASK               0x00001f80
#define INEXACT_MODE            0x00001000
#define UNDERFLOW_MODE          0x00000800
#define OVERFLOW_MODE           0x00000400
#define ZERO_DIVIDE_MODE        0x00000200
#define DENORMAL_MODE           0x00000100
#define INVALID_MODE            0x00000080

#if defined LINUX || defined __GLIBC__ || defined SUNOS
#define LX16  "%016llx"
#define LX    "%llx"
#define LD4   "%4llu"
#define LD16  "%016lld"
#define LD    "%lld"
#define LUD   "%llu"
#define LUD16 "%016llu"
#define X8    "%08x"
#define X4    "%04x"

#define FMT_LLX16  "%016llx"
#define FMT_LLX    "%llx"
#define FMT_LLU4   "%4llu"
#define FMT_LLD16  "%016lld"
#define FMT_LLD    "%lld"
#define FMT_LLU    "%llu"
#define FMT_LLU16  "%016llu"
#define FMT_X8     "%08x"
#define FMT_X4     "%04x"
#else
#define LX16  "%016I64x"
#define LX    "%I64x"
#define LD16  "%016I64d"
#define LD4   "%4I64u"
#define LD    "%I64d"
#define LUD    "%I64u"
#define LUD16 "%016I64u"
#define X8    "%08x"
#define X4    "%04x"

#define FMT_LLX16 "%016I64x"
#define FMT_LLX   "%I64x"
#define FMT_LLD16 "%016I64d"
#define FMT_LLU4  "%4I64u"
#define FMT_LLD   "%I64d"
#define FMT_LLU   "%I64u"
#define FMT_LLU16 "%016I64u"
#define FMT_X8    "%08x"
#define FMT_X4    "%04x"
#endif

#define decNumberIsSNaN(dn)      (((dn)->bits&(DECSNAN))!=0)
     int __signbitf (float);
     int __signbit (double);

#define __IMFC99MACRO_( __x__, __func__ ) \
        (( sizeof( __x__ ) > sizeof( float )) \
         ? __func__( (double)(__x__) ) \
                : __func__##f( (float)(__x__) ))

#define signbit( __x__ )    __IMFC99MACRO_( __x__, __signbit )

#if !defined(__INTEL_COMPILER)

#define __fence

#define isinf( __x__ )      __IMFC99MACRO_( __x__, __isinf )
#define isnan( __x__ )      __IMFC99MACRO_( __x__, __isnan )

     int __isnanf (float);
     int __isnan (double);

     int __isinff (float);
     int __isinf (double);

#endif

/* rounding modes */
// typedef unsigned int _IDEC_round;
     extern _IDEC_round _IDEC_gblround;	// initialized to ROUNDING_TO_NEAREST

/* exception flags */
// typedef unsigned int _IDEC_flags;  // could be a struct with diagnostic info
     extern _IDEC_flags _IDEC_gblflags;	// initialized to EXACT_STATUS

/* exception masks */
     typedef unsigned int _IDEC_exceptionmasks;
     extern _IDEC_exceptionmasks _IDEC_gblexceptionmasks;	// initialized to MODE_MASK

#if DECIMAL_ALTERNATE_EXCEPTION_HANDLING

/* exception information */

     typedef struct {
       unsigned int inexact_result:1;
       unsigned int underflow:1;
       unsigned int overflow:1;
       unsigned int zero_divide:1;
       unsigned int invalid_operation:1;
     } fpieee_exception_flags_t;

     typedef enum {
       _fp_round_nearest,
       _fp_round_minus_infinity,
       _fp_round_plus_infinity,
       _fp_round_chopped,
       _fp_round_away
     } fpieee_rounding_mode_t;

     typedef enum {
       _fp_precision24,
       _fp_precision63,
       _fp_precision64,
       _fp_precision7,
       _fp_precision16,
       _fp_precision34
     } _fpieee_precision_t;

     typedef enum {
       _fp_code_unspecified,
       _fp_code_add,
       _fp_code_subtract,
       _fp_code_multiply,
       _fp_code_divide,
       _fp_code_square_root,
       _fp_code_compare,
       _fp_code_convert,
       _fp_code_convert_to_integer_neareven,
       _fp_code_convert_to_integer_down,
       _fp_code_convert_to_integer_up,
       _fp_code_convert_to_integer_truncate,
       _fp_code_convert_to_integer_nearaway,
       _fp_code_fma,
       _fp_code_fmin,
       _fp_code_fmax,
       _fp_code_famin,
       _fp_code_famax,
       _fp_code_round_to_integral,
       _fp_code_minnum,
       _fp_code_maxnum,
       _fp_code_minnummag,
       _fp_code_maxnummag,
       _fp_code_quantize,
       _fp_code_logb,
       _fp_code_scaleb,
       _fp_code_remainder,
       _fp_code_nextup,
       _fp_code_nextdown,
       _fp_code_nextafter,
     } fp_operation_code_t;

     typedef enum {
       _fp_compare_equal,
       _fp_compare_greater,
       _fp_compare_less,
       _fp_compare_unordered
     } fpieee_compare_result_t;

     typedef enum {
       _fp_format_fp32,
       _fp_format_fp64,
       _fp_format_fp80,
       _fp_format_fp128,
       _fp_format_dec_fp32,
       _fp_format_dec_fp64,
       _fp_format_dec_fp128,
       _fp_format_i8,		/* 8-bit integer */
       _fp_format_i16,		/* 16-bit integer */
       _fp_format_i32,		/* 32-bit integer */
       _fp_format_i64,		/* 64-bit integer */
       _fp_format_u8,		/* 8-bit unsigned integer */
       _fp_format_u16,		/* 16-bit unsigned integer */
       _fp_format_u32,		/* 32-bit unsigned integer */
       _fp_format_u64,		/* 64-bit unsigned integer */
       _fp_format_compare,	/* compare value format */
       _fp_format_decimal_char,	/* decimal character */
       _fp_format_string	/* string */
     } fpieee_format_t;

     typedef struct {
       unsigned short W[5];
     } _float80_t;

     typedef struct {
       unsigned int W[4];
     } _float128_t;

     typedef struct {
       union {
	 float fp32_value;
	 double fp64_value;
	 _float80_t fp80_value;
	 _float128_t fp128_value;
	 UINT32 decfp32_value;
	 UINT64 decfp64_value;
	 UINT128 decfp128_value;
	 char i8_value;
	 short i16_value;
	 int i32_value;
	 SINT64 i64_value;
	 unsigned char u8_value;
	 unsigned short u16_value;
	 unsigned int u32_value;
	 unsigned long u64_value;
	 fpieee_compare_result_t compare_value;
	 unsigned char s[256];
       } value;
       unsigned int operand_valid:1;
       fpieee_format_t format:5;
     } fpieee_value_t;

     typedef struct {
       unsigned int rounding_mode:3;
       unsigned int precision:3;
       unsigned int operation:26;
       fpieee_exception_flags_t cause;
       fpieee_exception_flags_t enable;
       fpieee_exception_flags_t status;
       fpieee_value_t operand1;
       fpieee_value_t operand2;
       fpieee_value_t operand3;
       fpieee_value_t result;
     } _IDEC_excepthandling;
     extern _IDEC_excepthandling _IDEC_glbexcepthandling;

#endif

#if DECIMAL_CALL_BY_REFERENCE

     extern void bid_to_dpd32 (UINT32 * pres, UINT32 * px);
     extern void bid_to_dpd64 (UINT64 * pres, UINT64 * px);
     extern void bid_to_dpd128 (UINT128 * pres, UINT128 * px);
     extern void dpd_to_bid32 (UINT32 * pres, UINT32 * px);
     extern void dpd_to_bid64 (UINT64 * pres, UINT64 * px);
     extern void dpd_to_bid128 (UINT128 * pres, UINT128 * px);

     extern void bid128dd_add (UINT128 * pres, UINT64 * px,
			       UINT64 * py
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128dq_add (UINT128 * pres, UINT64 * px,
			       UINT128 * py
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128qd_add (UINT128 * pres, UINT128 * px,
			       UINT64 * py
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_add (UINT128 * pres, UINT128 * px,
			     UINT128 *
			     py _RND_MODE_PARAM _EXC_FLAGS_PARAM
			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128dd_sub (UINT128 * pres, UINT64 * px,
			       UINT64 * py
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128dq_sub (UINT128 * pres, UINT64 * px,
			       UINT128 * py
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128qd_sub (UINT128 * pres, UINT128 * px,
			       UINT64 * py
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_sub (UINT128 * pres, UINT128 * px,
			     UINT128 *
			     py _RND_MODE_PARAM _EXC_FLAGS_PARAM
			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128dd_mul (UINT128 * pres, UINT64 * px,
			       UINT64 * py
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128dq_mul (UINT128 * pres, UINT64 * px,
			       UINT128 * py
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128qd_mul (UINT128 * pres, UINT128 * px,
			       UINT64 * py
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_mul (UINT128 * pres, UINT128 * px,
			     UINT128 * py
			     _RND_MODE_PARAM _EXC_FLAGS_PARAM
			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_div (UINT128 * pres, UINT128 * px,
			     UINT128 *
			     py _RND_MODE_PARAM _EXC_FLAGS_PARAM
			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128dd_div (UINT128 * pres, UINT64 * px,
			       UINT64 * py
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128dq_div (UINT128 * pres, UINT64 * px,
			       UINT128 * py
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128qd_div (UINT128 * pres, UINT128 * px,
			       UINT64 * py
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_fma (UINT128 * pres, UINT128 * px,
			     UINT128 * py, UINT128 * pz
			     _RND_MODE_PARAM _EXC_FLAGS_PARAM
			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128ddd_fma (UINT128 * pres, UINT64 * px,
				UINT64 * py, UINT64 * pz
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128ddq_fma (UINT128 * pres, UINT64 * px,
				UINT64 * py, UINT128 * pz
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128dqd_fma (UINT128 * pres, UINT64 * px,
				UINT128 * py, UINT64 * pz
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128dqq_fma (UINT128 * pres, UINT64 * px,
				UINT128 * py, UINT128 * pz
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128qdd_fma (UINT128 * pres, UINT128 * px,
				UINT64 * py, UINT64 * pz
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128qdq_fma (UINT128 * pres, UINT128 * px,
				UINT64 * py, UINT128 * pz
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128qqd_fma (UINT128 * pres, UINT128 * px,
				UINT128 * py, UINT64 * pz
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     // Note: bid128qqq_fma is represented by bid128_fma
     // Note: bid64ddd_fma is represented by bid64_fma
     extern void bid64ddq_fma (UINT64 * pres, UINT64 * px,
			       UINT64 * py, UINT128 * pz
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64dqd_fma (UINT64 * pres, UINT64 * px,
			       UINT128 * py, UINT64 * pz
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64dqq_fma (UINT64 * pres, UINT64 * px,
			       UINT128 * py, UINT128 * pz
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64qdd_fma (UINT64 * pres, UINT128 * px,
			       UINT64 * py, UINT64 * pz
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64qdq_fma (UINT64 * pres, UINT128 * px,
			       UINT64 * py, UINT128 * pz
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64qqd_fma (UINT64 * pres, UINT128 * px,
			       UINT128 * py, UINT64 * pz
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64qqq_fma (UINT64 * pres, UINT128 * px,
			       UINT128 * py, UINT128 * pz
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid128_sqrt (UINT128 * pres,
			      UINT128 *
			      px _RND_MODE_PARAM _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128d_sqrt (UINT128 * pres, UINT64 * px
			       _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid64_add (UINT64 * pres, UINT64 * px,
			    UINT64 *
			    py _RND_MODE_PARAM _EXC_FLAGS_PARAM
			    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64dq_add (UINT64 * pres, UINT64 * px,
			      UINT128 * py
			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64qd_add (UINT64 * pres, UINT128 * px,
			      UINT64 * py
			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64qq_add (UINT64 * pres, UINT128 * px,
			      UINT128 * py
			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_sub (UINT64 * pres, UINT64 * px,
			    UINT64 *
			    py _RND_MODE_PARAM _EXC_FLAGS_PARAM
			    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64dq_sub (UINT64 * pres, UINT64 * px,
			      UINT128 * py
			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64qd_sub (UINT64 * pres, UINT128 * px,
			      UINT64 * py
			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64qq_sub (UINT64 * pres, UINT128 * px,
			      UINT128 * py
			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_mul (UINT64 * pres, UINT64 * px,
			    UINT64 * py
			    _RND_MODE_PARAM _EXC_FLAGS_PARAM
			    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64dq_mul (UINT64 * pres, UINT64 * px,
			      UINT128 * py
			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64qd_mul (UINT64 * pres, UINT128 * px,
			      UINT64 * py
			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64qq_mul (UINT64 * pres, UINT128 * px,
			      UINT128 * py
			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_div (UINT64 * pres, UINT64 * px,
			    UINT64 *
			    py _RND_MODE_PARAM _EXC_FLAGS_PARAM
			    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64dq_div (UINT64 * pres, UINT64 * px,
			      UINT128 * py
			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64qd_div (UINT64 * pres, UINT128 * px,
			      UINT64 * py
			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64qq_div (UINT64 * pres, UINT128 * px,
			      UINT128 * py
			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_fma (UINT64 * pres, UINT64 * px,
			    UINT64 * py,
			    UINT64 *
			    pz _RND_MODE_PARAM _EXC_FLAGS_PARAM
			    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_sqrt (UINT64 * pres,
			     UINT64 *
			     px _RND_MODE_PARAM _EXC_FLAGS_PARAM
			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64q_sqrt (UINT64 * pres, UINT128 * px
			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid128_to_int8_rnint (char *pres,
				       UINT128 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid128_to_int8_xrnint (char *pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_int8_rninta (char *pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_int8_xrninta (char *pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_int8_int (char *pres,
				     UINT128 *
				     px _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_to_int8_xint (char *pres,
				      UINT128 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_to_int8_floor (char *pres,
				       UINT128 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid128_to_int8_xfloor (char *pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_int8_ceil (char *pres,
				      UINT128 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_to_int8_xceil (char *pres,
				       UINT128 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid128_to_int16_rnint (short *pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_int16_xrnint (short *pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_int16_rninta (short *pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_int16_xrninta (short *pres,
					  UINT128 *
					  px _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid128_to_int16_int (short *pres,
				      UINT128 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_to_int16_xint (short *pres,
				       UINT128 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid128_to_int16_floor (short *pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_int16_xfloor (short *pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_int16_ceil (short *pres,
				       UINT128 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid128_to_int16_xceil (short *pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_uint8_rnint (unsigned char *pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_uint8_xrnint (unsigned char *pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_uint8_rninta (unsigned char *pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_uint8_xrninta (unsigned char *pres,
					  UINT128 *
					  px _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid128_to_uint8_int (unsigned char *pres,
				      UINT128 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_to_uint8_xint (unsigned char *pres,
				       UINT128 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid128_to_uint8_floor (unsigned char *pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_uint8_xfloor (unsigned char *pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_uint8_ceil (unsigned char *pres,
				       UINT128 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid128_to_uint8_xceil (unsigned char *pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_uint16_rnint (unsigned short *pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_uint16_xrnint (unsigned short *pres,
					  UINT128 *
					  px _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid128_to_uint16_rninta (unsigned short *pres,
					  UINT128 *
					  px _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid128_to_uint16_xrninta (unsigned short *pres,
					   UINT128 *
					   px _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);
     extern void bid128_to_uint16_int (unsigned short *pres,
				       UINT128 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid128_to_uint16_xint (unsigned short *pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_uint16_floor (unsigned short *pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_uint16_xfloor (unsigned short *pres,
					  UINT128 *
					  px _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid128_to_uint16_ceil (unsigned short *pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_uint16_xceil (unsigned short *pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_int32_rnint (int *pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_int32_xrnint (int *pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_int32_rninta (int *pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_int32_xrninta (int *pres,
					  UINT128 *
					  px _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid128_to_int32_int (int *pres,
				      UINT128 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_to_int32_xint (int *pres,
				       UINT128 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid128_to_int32_floor (int *pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_int32_xfloor (int *pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_int32_ceil (int *pres,
				       UINT128 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid128_to_int32_xceil (int *pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_uint32_rnint (unsigned int *pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_uint32_xrnint (unsigned int *pres,
					  UINT128 *
					  px _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid128_to_uint32_rninta (unsigned int *pres,
					  UINT128 *
					  px _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid128_to_uint32_xrninta (unsigned int *pres,
					   UINT128 *
					   px _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);
     extern void bid128_to_uint32_int (unsigned int *pres,
				       UINT128 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid128_to_uint32_xint (unsigned int *pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_uint32_floor (unsigned int *pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_uint32_xfloor (unsigned int *pres,
					  UINT128 *
					  px _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid128_to_uint32_ceil (unsigned int *pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_uint32_xceil (unsigned int *pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_int64_rnint (SINT64 * pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_int64_xrnint (SINT64 * pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_int64_rninta (SINT64 * pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_int64_xrninta (SINT64 * pres,
					  UINT128 *
					  px _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid128_to_int64_int (SINT64 * pres,
				      UINT128 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_to_int64_xint (SINT64 * pres,
				       UINT128 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid128_to_int64_floor (SINT64 * pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_int64_xfloor (SINT64 * pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_int64_ceil (SINT64 * pres,
				       UINT128 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid128_to_int64_xceil (SINT64 * pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_uint64_rnint (UINT64 * pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_uint64_xrnint (UINT64 * pres,
					  UINT128 *
					  px _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid128_to_uint64_rninta (UINT64 * pres,
					  UINT128 *
					  px _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid128_to_uint64_xrninta (UINT64 * pres,
					   UINT128 *
					   px _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);
     extern void bid128_to_uint64_int (UINT64 * pres,
				       UINT128 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid128_to_uint64_xint (UINT64 * pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_uint64_floor (UINT64 * pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_to_uint64_xfloor (UINT64 * pres,
					  UINT128 *
					  px _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid128_to_uint64_ceil (UINT64 * pres,
					UINT128 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_to_uint64_xceil (UINT64 * pres,
					 UINT128 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid64_to_int32_rnint (int *pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_int32_xrnint (int *pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_int32_rninta (int *pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_int32_xrninta (int *pres,
					 UINT64 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid64_to_int32_int (int *pres,
				     UINT64 *
				     px _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_int32_xint (int *pres,
				      UINT64 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_int32_floor (int *pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_int32_xfloor (int *pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_int32_ceil (int *pres,
				      UINT64 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_int32_xceil (int *pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_int8_rnint (char *pres,
				      UINT64 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_int8_xrnint (char *pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_int8_rninta (char *pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_int8_xrninta (char *pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_int8_int (char *pres,
				    UINT64 *
				    px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				    _EXC_INFO_PARAM);
     extern void bid64_to_int8_xint (char *pres,
				     UINT64 *
				     px _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_int8_floor (char *pres,
				      UINT64 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_int8_xfloor (char *pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_int8_ceil (char *pres,
				     UINT64 *
				     px _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_int8_xceil (char *pres,
				      UINT64 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_int16_rnint (short *pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_int16_xrnint (short *pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_int16_rninta (short *pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_int16_xrninta (short *pres,
					 UINT64 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid64_to_int16_int (short *pres,
				     UINT64 *
				     px _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_int16_xint (short *pres,
				      UINT64 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_int16_floor (short *pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_int16_xfloor (short *pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_int16_ceil (short *pres,
				      UINT64 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_int16_xceil (short *pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_uint8_rnint (unsigned char *pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_uint8_xrnint (unsigned char *pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_uint8_rninta (unsigned char *pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_uint8_xrninta (unsigned char *pres,
					 UINT64 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid64_to_uint8_int (unsigned char *pres,
				     UINT64 *
				     px _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_uint8_xint (unsigned char *pres,
				      UINT64 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_uint8_floor (unsigned char *pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_uint8_xfloor (unsigned char *pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_uint8_ceil (unsigned char *pres,
				      UINT64 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_uint8_xceil (unsigned char *pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_uint16_rnint (unsigned short *pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_uint16_xrnint (unsigned short *pres,
					 UINT64 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid64_to_uint16_rninta (unsigned short *pres,
					 UINT64 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid64_to_uint16_xrninta (unsigned short *pres,
					  UINT64 *
					  px _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid64_to_uint16_int (unsigned short *pres,
				      UINT64 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_uint16_xint (unsigned short *pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_uint16_floor (unsigned short *pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_uint16_xfloor (unsigned short *pres,
					 UINT64 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid64_to_uint16_ceil (unsigned short *pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_uint16_xceil (unsigned short *pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_uint32_rnint (unsigned int *pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_uint32_xrnint (unsigned int *pres,
					 UINT64 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid64_to_uint32_rninta (unsigned int *pres,
					 UINT64 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid64_to_uint32_xrninta (unsigned int *pres,
					  UINT64 *
					  px _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid64_to_uint32_int (unsigned int *pres,
				      UINT64 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_uint32_xint (unsigned int *pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_uint32_floor (unsigned int *pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_uint32_xfloor (unsigned int *pres,
					 UINT64 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid64_to_uint32_ceil (unsigned int *pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_uint32_xceil (unsigned int *pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_int64_rnint (SINT64 * pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_int64_xrnint (SINT64 * pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_int64_rninta (SINT64 * pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_int64_xrninta (SINT64 * pres,
					 UINT64 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid64_to_int64_int (SINT64 * pres,
				     UINT64 *
				     px _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_int64_xint (SINT64 * pres,
				      UINT64 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_int64_floor (SINT64 * pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_int64_xfloor (SINT64 * pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_int64_ceil (SINT64 * pres,
				      UINT64 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_int64_xceil (SINT64 * pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_uint64_rnint (UINT64 * pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_uint64_xrnint (UINT64 * pres,
					 UINT64 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid64_to_uint64_rninta (UINT64 * pres,
					 UINT64 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid64_to_uint64_xrninta (UINT64 * pres,
					  UINT64 *
					  px _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid64_to_uint64_int (UINT64 * pres,
				      UINT64 *
				      px _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_uint64_xint (UINT64 * pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_uint64_floor (UINT64 * pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_to_uint64_xfloor (UINT64 * pres,
					 UINT64 *
					 px _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid64_to_uint64_ceil (UINT64 * pres,
				       UINT64 *
				       px _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_to_uint64_xceil (UINT64 * pres,
					UINT64 *
					px _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);

     extern void bid64_quiet_equal (int *pres, UINT64 * px, UINT64 * py
				    _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				    _EXC_INFO_PARAM);
     extern void bid64_quiet_greater (int *pres, UINT64 * px,
				      UINT64 *
				      py _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_quiet_greater_equal (int *pres, UINT64 * px,
					    UINT64 *
					    py _EXC_FLAGS_PARAM
					    _EXC_MASKS_PARAM
					    _EXC_INFO_PARAM);
     extern void bid64_quiet_greater_unordered (int *pres, UINT64 * px,
						UINT64 *
						py _EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern void bid64_quiet_less (int *pres, UINT64 * px,
				   UINT64 *
				   py _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				   _EXC_INFO_PARAM);
     extern void bid64_quiet_less_equal (int *pres, UINT64 * px,
					 UINT64 *
					 py _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid64_quiet_less_unordered (int *pres, UINT64 * px,
					     UINT64 *
					     py _EXC_FLAGS_PARAM
					     _EXC_MASKS_PARAM
					     _EXC_INFO_PARAM);
     extern void bid64_quiet_not_equal (int *pres, UINT64 * px,
					UINT64 *
					py _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_quiet_not_greater (int *pres, UINT64 * px,
					  UINT64 *
					  py _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid64_quiet_not_less (int *pres, UINT64 * px,
				       UINT64 *
				       py _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_quiet_ordered (int *pres, UINT64 * px,
				      UINT64 *
				      py _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_quiet_unordered (int *pres, UINT64 * px,
					UINT64 *
					py _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid64_signaling_greater (int *pres, UINT64 * px,
					  UINT64 *
					  py _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid64_signaling_greater_equal (int *pres, UINT64 * px,
						UINT64 *
						py _EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern void bid64_signaling_greater_unordered (int *pres,
						    UINT64 * px,
						    UINT64 *
						    py _EXC_FLAGS_PARAM
						    _EXC_MASKS_PARAM
						    _EXC_INFO_PARAM);
     extern void bid64_signaling_less (int *pres, UINT64 * px,
				       UINT64 *
				       py _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid64_signaling_less_equal (int *pres, UINT64 * px,
					     UINT64 *
					     py _EXC_FLAGS_PARAM
					     _EXC_MASKS_PARAM
					     _EXC_INFO_PARAM);
     extern void bid64_signaling_less_unordered (int *pres, UINT64 * px,
						 UINT64 *
						 py _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern void bid64_signaling_not_greater (int *pres, UINT64 * px,
					      UINT64 *
					      py _EXC_FLAGS_PARAM
					      _EXC_MASKS_PARAM
					      _EXC_INFO_PARAM);
     extern void bid64_signaling_not_less (int *pres, UINT64 * px,
					   UINT64 *
					   py _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);

     extern void bid128_quiet_equal (int *pres, UINT128 * px,
				     UINT128 *
				     py _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_quiet_greater (int *pres, UINT128 * px,
				       UINT128 *
				       py _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid128_quiet_greater_equal (int *pres, UINT128 * px,
					     UINT128 *
					     py _EXC_FLAGS_PARAM
					     _EXC_MASKS_PARAM
					     _EXC_INFO_PARAM);
     extern void bid128_quiet_greater_unordered (int *pres,
						 UINT128 * px,
						 UINT128 *
						 py _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern void bid128_quiet_less (int *pres, UINT128 * px,
				    UINT128 *
				    py _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				    _EXC_INFO_PARAM);
     extern void bid128_quiet_less_equal (int *pres, UINT128 * px,
					  UINT128 *
					  py _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern void bid128_quiet_less_unordered (int *pres, UINT128 * px,
					      UINT128 *
					      py _EXC_FLAGS_PARAM
					      _EXC_MASKS_PARAM
					      _EXC_INFO_PARAM);
     extern void bid128_quiet_not_equal (int *pres, UINT128 * px,
					 UINT128 *
					 py _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_quiet_not_greater (int *pres, UINT128 * px,
					   UINT128 *
					   py _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);
     extern void bid128_quiet_not_less (int *pres, UINT128 * px,
					UINT128 *
					py _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_quiet_ordered (int *pres, UINT128 * px,
				       UINT128 *
				       py _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid128_quiet_unordered (int *pres, UINT128 * px,
					 UINT128 *
					 py _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern void bid128_signaling_greater (int *pres, UINT128 * px,
					   UINT128 *
					   py _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);
     extern void bid128_signaling_greater_equal (int *pres,
						 UINT128 * px,
						 UINT128 *
						 py _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern void bid128_signaling_greater_unordered (int *pres,
						     UINT128 * px,
						     UINT128 *
						     py _EXC_FLAGS_PARAM
						     _EXC_MASKS_PARAM
						     _EXC_INFO_PARAM);
     extern void bid128_signaling_less (int *pres, UINT128 * px,
					UINT128 *
					py _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern void bid128_signaling_less_equal (int *pres, UINT128 * px,
					      UINT128 *
					      py _EXC_FLAGS_PARAM
					      _EXC_MASKS_PARAM
					      _EXC_INFO_PARAM);
     extern void bid128_signaling_less_unordered (int *pres,
						  UINT128 * px,
						  UINT128 *
						  py _EXC_FLAGS_PARAM
						  _EXC_MASKS_PARAM
						  _EXC_INFO_PARAM);
     extern void bid128_signaling_not_greater (int *pres, UINT128 * px,
					       UINT128 *
					       py _EXC_FLAGS_PARAM
					       _EXC_MASKS_PARAM
					       _EXC_INFO_PARAM);
     extern void bid128_signaling_not_less (int *pres, UINT128 * px,
					    UINT128 *
					    py _EXC_FLAGS_PARAM
					    _EXC_MASKS_PARAM
					    _EXC_INFO_PARAM);

     extern void bid64_round_integral_exact (UINT64 * pres, UINT64 * px
					     _RND_MODE_PARAM
					     _EXC_FLAGS_PARAM
					     _EXC_MASKS_PARAM
					     _EXC_INFO_PARAM);
     extern void bid64_round_integral_nearest_even (UINT64 * pres,
						    UINT64 *
						    px _EXC_FLAGS_PARAM
						    _EXC_MASKS_PARAM
						    _EXC_INFO_PARAM);
     extern void bid64_round_integral_negative (UINT64 * pres,
						UINT64 *
						px _EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern void bid64_round_integral_positive (UINT64 * pres,
						UINT64 *
						px _EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern void bid64_round_integral_zero (UINT64 * pres,
					    UINT64 *
					    px _EXC_FLAGS_PARAM
					    _EXC_MASKS_PARAM
					    _EXC_INFO_PARAM);
     extern void bid64_round_integral_nearest_away (UINT64 * pres,
						    UINT64 *
						    px _EXC_FLAGS_PARAM
						    _EXC_MASKS_PARAM
						    _EXC_INFO_PARAM);

     extern void bid128_round_integral_exact (UINT128 * pres,
					      UINT128 *
					      px _RND_MODE_PARAM
					      _EXC_FLAGS_PARAM
					      _EXC_MASKS_PARAM
					      _EXC_INFO_PARAM);
     extern void bid128_round_integral_nearest_even (UINT128 * pres,
						     UINT128 *
						     px _EXC_FLAGS_PARAM
						     _EXC_MASKS_PARAM
						     _EXC_INFO_PARAM);
     extern void bid128_round_integral_negative (UINT128 * pres,
						 UINT128 *
						 px _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern void bid128_round_integral_positive (UINT128 * pres,
						 UINT128 *
						 px _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern void bid128_round_integral_zero (UINT128 * pres,
					     UINT128 *
					     px _EXC_FLAGS_PARAM
					     _EXC_MASKS_PARAM
					     _EXC_INFO_PARAM);
     extern void bid128_round_integral_nearest_away (UINT128 * pres,
						     UINT128 *
						     px _EXC_FLAGS_PARAM
						     _EXC_MASKS_PARAM
						     _EXC_INFO_PARAM);

     extern void bid64_nextup (UINT64 * pres, UINT64 * px
			       _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
			       _EXC_INFO_PARAM);
     extern void bid64_nextdown (UINT64 * pres,
				 UINT64 *
				 px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				 _EXC_INFO_PARAM);
     extern void bid64_nextafter (UINT64 * pres, UINT64 * px,
				  UINT64 *
				  py _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				  _EXC_INFO_PARAM);

     extern void bid128_nextup (UINT128 * pres, UINT128 * px
				_EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				_EXC_INFO_PARAM);
     extern void bid128_nextdown (UINT128 * pres,
				  UINT128 *
				  px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				  _EXC_INFO_PARAM);
     extern void bid128_nextafter (UINT128 * pres, UINT128 * px,
				   UINT128 *
				   py _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				   _EXC_INFO_PARAM);

     extern void bid64_minnum (UINT64 * pres, UINT64 * px, UINT64 * py
			       _EXC_FLAGS_PARAM);
     extern void bid64_minnum_mag (UINT64 * pres, UINT64 * px,
				   UINT64 * py _EXC_FLAGS_PARAM);
     extern void bid64_maxnum (UINT64 * pres, UINT64 * px, UINT64 * py
			       _EXC_FLAGS_PARAM);
     extern void bid64_maxnum_mag (UINT64 * pres, UINT64 * px,
				   UINT64 * py _EXC_FLAGS_PARAM);

     extern void bid128_minnum (UINT128 * pres, UINT128 * px,
				UINT128 * py _EXC_FLAGS_PARAM);
     extern void bid128_minnum_mag (UINT128 * pres, UINT128 * px,
				    UINT128 * py _EXC_FLAGS_PARAM);
     extern void bid128_maxnum (UINT128 * pres, UINT128 * px,
				UINT128 * py _EXC_FLAGS_PARAM);
     extern void bid128_maxnum_mag (UINT128 * pres, UINT128 * px,
				    UINT128 * py _EXC_FLAGS_PARAM);

     extern void bid64_from_int32 (UINT64 * pres, int *px
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_from_uint32 (UINT64 * pres, unsigned int *px
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_from_int64 (UINT64 * pres, SINT64 * px
				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_from_uint64 (UINT64 * pres,
				    UINT64 *
				    px _RND_MODE_PARAM _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_from_int32 (UINT128 * pres,
				    int *px _EXC_MASKS_PARAM
				    _EXC_INFO_PARAM);
     extern void bid128_from_uint32 (UINT128 * pres,
				     unsigned int *px _EXC_MASKS_PARAM
				     _EXC_INFO_PARAM);
     extern void bid128_from_int64 (UINT128 * pres,
				    SINT64 *
				    px _EXC_MASKS_PARAM
				    _EXC_INFO_PARAM);
     extern void bid128_from_uint64 (UINT128 * pres,
				     UINT64 *
				     px _EXC_MASKS_PARAM
				     _EXC_INFO_PARAM);

     extern void bid64_isSigned (int *pres, UINT64 * px
				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_isNormal (int *pres, UINT64 * px
				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_isSubnormal (int *pres, UINT64 * px
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_isFinite (int *pres, UINT64 * px
				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_isZero (int *pres, UINT64 * px
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_isInf (int *pres, UINT64 * px
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_isSignaling (int *pres, UINT64 * px
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_isCanonical (int *pres, UINT64 * px
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_isNaN (int *pres, UINT64 * px
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_copy (UINT64 * pres, UINT64 * px
			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_negate (UINT64 * pres, UINT64 * px
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_abs (UINT64 * pres, UINT64 * px
			    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_copySign (UINT64 * pres, UINT64 * px, UINT64 * py
				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_class (int *pres, UINT64 * px
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_sameQuantum (int *pres, UINT64 * px, UINT64 * py
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_totalOrder (int *pres, UINT64 * px, UINT64 * py
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_totalOrderMag (int *pres, UINT64 * px,
				      UINT64 *
				      py _EXC_MASKS_PARAM
				      _EXC_INFO_PARAM);
     extern void bid64_radix (int *pres,
			      UINT64 *
			      px _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid128_isSigned (int *pres, UINT128 * px
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_isNormal (int *pres, UINT128 * px
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_isSubnormal (int *pres, UINT128 * px
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_isFinite (int *pres, UINT128 * px
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_isZero (int *pres, UINT128 * px
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_isInf (int *pres, UINT128 * px
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_isSignaling (int *pres, UINT128 * px
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_isCanonical (int *pres, UINT128 * px
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_isNaN (int *pres, UINT128 * px
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_copy (UINT128 * pres, UINT128 * px
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_negate (UINT128 * pres, UINT128 * px
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_abs (UINT128 * pres, UINT128 * px
			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_copySign (UINT128 * pres, UINT128 * px,
				  UINT128 *
				  py _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_class (int *pres,
			       UINT128 *
			       px _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_sameQuantum (int *pres, UINT128 * px,
				     UINT128 *
				     py _EXC_MASKS_PARAM
				     _EXC_INFO_PARAM);
     extern void bid128_totalOrder (int *pres, UINT128 * px,
				    UINT128 *
				    py _EXC_MASKS_PARAM
				    _EXC_INFO_PARAM);
     extern void bid128_totalOrderMag (int *pres, UINT128 * px,
				       UINT128 *
				       py _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern void bid128_radix (int *pres,
			       UINT128 *
			       px _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid64_rem (UINT64 * pres, UINT64 * px, UINT64 * py
			    _EXC_FLAGS_PARAM
			    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_logb (int * pres, UINT64 * px
			     _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
			     _EXC_INFO_PARAM);
     extern void bid64_scalb (UINT64 * pres, UINT64 * px,
			      int *pn _RND_MODE_PARAM _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid128_rem (UINT128 * pres, UINT128 * px, UINT128 * py
			     _EXC_FLAGS_PARAM
			     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_logb (int * pres, UINT128 * px
			      _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_scalb (UINT128 * pres, UINT128 * px,
			       int *pn _RND_MODE_PARAM _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid32_to_bid64 (UINT64 * pres,
				 UINT32 *
				 px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				 _EXC_INFO_PARAM);
     extern void bid32_to_bid128 (UINT128 * pres,
				  UINT32 *
				  px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				  _EXC_INFO_PARAM);
     extern void bid64_to_bid128 (UINT128 * pres,
				  UINT64 *
				  px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				  _EXC_INFO_PARAM);
     extern void bid64_to_bid32 (UINT32 * pres,
				 UINT64 *
				 px _RND_MODE_PARAM _EXC_FLAGS_PARAM
				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_to_bid32 (UINT32 * pres,
				  UINT128 *
				  px _RND_MODE_PARAM _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_to_bid64 (UINT64 * pres,
				  UINT128 *
				  px _RND_MODE_PARAM _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid64_from_string (UINT64 * pres, char *ps
				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid64_to_string (char *ps, UINT64 * px
				  _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_from_string (UINT128 * pres, char *ps
				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_to_string (char *str, UINT128 * px
				   _EXC_FLAGS_PARAM
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid64_quantize (UINT64 * pres, UINT64 * px,
				 UINT64 *
				 py _RND_MODE_PARAM _EXC_FLAGS_PARAM
				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid128_quantize (UINT128 * pres, UINT128 * px,
				  UINT128 *
				  py _RND_MODE_PARAM _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid128_to_binary32 (float *pres, UINT128 * px
				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid128_to_binary64 (double *pres, UINT128 * px
				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid128_to_binary80 (BINARY80 * pres, UINT128 * px
				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid128_to_binary128 (BINARY128 * pres, UINT128 * px
				      _RND_MODE_PARAM _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void binary128_to_bid32 (UINT32 * pres, BINARY128 * px
				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void binary128_to_bid64 (UINT64 * pres, BINARY128 * px
				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void binary128_to_bid128 (UINT128 * pres, BINARY128 * px
				      _RND_MODE_PARAM _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid64_to_binary32 (float *pres, UINT64 * px
				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid64_to_binary64 (double *pres, UINT64 * px
				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid64_to_binary80 (BINARY80 * pres, UINT64 * px
				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid64_to_binary128 (BINARY128 * pres, UINT64 * px
				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void binary64_to_bid32 (UINT32 * pres, double *px
				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void binary64_to_bid64 (UINT64 * pres, double *px
				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void binary64_to_bid128 (UINT128 * pres, double *px
				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid32_to_binary32 (float *pres, UINT32 * px
				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid32_to_binary64 (double *pres, UINT32 * px
				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid32_to_binary80 (BINARY80 * pres, UINT32 * px
				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid32_to_binary128 (BINARY128 * pres, UINT32 * px
				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void binary32_to_bid32 (UINT32 * pres, float *px
				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void binary32_to_bid64 (UINT64 * pres, float *px
				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void binary32_to_bid128 (UINT128 * pres, float *px
				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void binary80_to_bid32 (UINT32 * pres, BINARY80 * px
				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void binary80_to_bid64 (UINT64 * pres, BINARY80 * px
				    _RND_MODE_PARAM _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void binary80_to_bid128 (UINT128 * pres, BINARY80 * px
				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void is754 (int *retval);

     extern void is754R (int *retval);

     extern void signalException (_IDEC_flags *
				  pflagsmask _EXC_FLAGS_PARAM);

     extern void lowerFlags (_IDEC_flags * pflagsmask _EXC_FLAGS_PARAM);

     extern void testFlags (_IDEC_flags * praised,
			    _IDEC_flags * pflagsmask _EXC_FLAGS_PARAM);

     extern void testSavedFlags (_IDEC_flags * praised,
				 _IDEC_flags * psavedflags,
				 _IDEC_flags * pflagsmask);

     extern void restoreFlags (_IDEC_flags * pflagsvalues,
			       _IDEC_flags *
			       pflagsmask _EXC_FLAGS_PARAM);

     extern void saveFlags (_IDEC_flags * pflagsvalues,
			    _IDEC_flags * pflagsmask _EXC_FLAGS_PARAM);

     void getDecimalRoundingDirection (_IDEC_round *
				       rounding_mode _RND_MODE_PARAM);

     void setDecimalRoundingDirection (_IDEC_round *
				       rounding_mode _RND_MODE_PARAM);

#else

     extern UINT32 bid_to_dpd32 (UINT32 px);
     extern UINT64 bid_to_dpd64 (UINT64 px);
     extern UINT128 bid_to_dpd128 (UINT128 px);
     extern UINT32 dpd_to_bid32 (UINT32 px);
     extern UINT64 dpd_to_bid64 (UINT64 px);
     extern UINT128 dpd_to_bid128 (UINT128 px);

     extern UINT128 bid128dd_add (UINT64 x, UINT64 y
				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128dq_add (UINT64 x, UINT128 y
				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128qd_add (UINT128 x, UINT64 y
				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128_add (UINT128 x, UINT128 y
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128dd_sub (UINT64 x, UINT64 y
				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128dq_sub (UINT64 x, UINT128 y
				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128qd_sub (UINT128 x, UINT64 y
				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128_sub (UINT128 x,
				UINT128 y _RND_MODE_PARAM
				_EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				_EXC_INFO_PARAM);
     extern UINT128 bid128dd_mul (UINT64 x, UINT64 y
				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128dq_mul (UINT64 x, UINT128 y
				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128qd_mul (UINT128 x, UINT64 y
				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128_mul (UINT128 x, UINT128 y
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128_div (UINT128 x,
				UINT128 y _RND_MODE_PARAM
				_EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				_EXC_INFO_PARAM);
     extern UINT128 bid128dd_div (UINT64 x, UINT64 y
				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128dq_div (UINT64 x, UINT128 y
				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128qd_div (UINT128 x, UINT64 y
				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128_fma (UINT128 x, UINT128 y, UINT128 z
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128ddd_fma (UINT64 x, UINT64 y, UINT64 z
				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128ddq_fma (UINT64 x, UINT64 y, UINT128 z
				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128dqd_fma (UINT64 x, UINT128 y, UINT64 z
				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128dqq_fma (UINT64 x, UINT128 y,
				   UINT128 z
				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128qdd_fma (UINT128 x, UINT64 y, UINT64 z
				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128qdq_fma (UINT128 x, UINT64 y,
				   UINT128 z
				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128qqd_fma (UINT128 x, UINT128 y,
				   UINT64 z
				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     // Note: bid128qqq_fma is represented by bid128_fma
     // Note: bid64ddd_fma is represented by bid64_fma
     extern UINT64 bid64ddq_fma (UINT64 x, UINT64 y,
				 UINT128 z
				 _RND_MODE_PARAM _EXC_FLAGS_PARAM
				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64dqd_fma (UINT64 x, UINT128 y,
				 UINT64 z
				 _RND_MODE_PARAM _EXC_FLAGS_PARAM
				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64dqq_fma (UINT64 x, UINT128 y,
				 UINT128 z
				 _RND_MODE_PARAM _EXC_FLAGS_PARAM
				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64qdd_fma (UINT128 x, UINT64 y,
				 UINT64 z
				 _RND_MODE_PARAM _EXC_FLAGS_PARAM
				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64qdq_fma (UINT128 x, UINT64 y,
				 UINT128 z
				 _RND_MODE_PARAM _EXC_FLAGS_PARAM
				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64qqd_fma (UINT128 x, UINT128 y,
				 UINT64 z
				 _RND_MODE_PARAM _EXC_FLAGS_PARAM
				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64qqq_fma (UINT128 x, UINT128 y,
				 UINT128 z
				 _RND_MODE_PARAM _EXC_FLAGS_PARAM
				 _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern UINT128 bid128_sqrt (UINT128 x _RND_MODE_PARAM
				 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				 _EXC_INFO_PARAM);
     extern UINT128 bid128d_sqrt (UINT64 x
				  _RND_MODE_PARAM _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern UINT64 bid64_add (UINT64 x, UINT64 y
			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64dq_add (UINT64 x, UINT128 y
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64qd_add (UINT128 x, UINT64 y
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64qq_add (UINT128 x, UINT128 y
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64_sub (UINT64 x,
			      UINT64 y _RND_MODE_PARAM
			      _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
			      _EXC_INFO_PARAM);
     extern UINT64 bid64dq_sub (UINT64 x, UINT128 y
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64qd_sub (UINT128 x, UINT64 y
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64qq_sub (UINT128 x, UINT128 y
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64_mul (UINT64 x, UINT64 y
			      _RND_MODE_PARAM _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64dq_mul (UINT64 x, UINT128 y
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64qd_mul (UINT128 x, UINT64 y
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64qq_mul (UINT128 x, UINT128 y
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64_div (UINT64 x,
			      UINT64 y _RND_MODE_PARAM
			      _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
			      _EXC_INFO_PARAM);
     extern UINT64 bid64dq_div (UINT64 x, UINT128 y
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64qd_div (UINT128 x, UINT64 y
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64qq_div (UINT128 x, UINT128 y
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64_fma (UINT64 x, UINT64 y,
			      UINT64 z _RND_MODE_PARAM
			      _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
			      _EXC_INFO_PARAM);
     extern UINT64 bid64_sqrt (UINT64 x _RND_MODE_PARAM
			       _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
			       _EXC_INFO_PARAM);
     extern UINT64 bid64q_sqrt (UINT128 x
				_RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern char bid128_to_int8_rnint (UINT128 x
				       _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern char bid128_to_int8_xrnint (UINT128 x
					_EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern char bid128_to_int8_rninta (UINT128 x
					_EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern char bid128_to_int8_xrninta (UINT128 x
					 _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern char bid128_to_int8_int (UINT128 x _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern char bid128_to_int8_xint (UINT128 x _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern char bid128_to_int8_floor (UINT128 x
				       _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern char bid128_to_int8_xfloor (UINT128 x
					_EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern char bid128_to_int8_ceil (UINT128 x _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern char bid128_to_int8_xceil (UINT128 x
				       _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern short bid128_to_int16_rnint (UINT128 x
					 _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern short bid128_to_int16_xrnint (UINT128 x
					  _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern short bid128_to_int16_rninta (UINT128 x
					  _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern short bid128_to_int16_xrninta (UINT128 x
					   _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);
     extern short bid128_to_int16_int (UINT128 x _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern short bid128_to_int16_xint (UINT128 x _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern short bid128_to_int16_floor (UINT128 x
					 _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern short bid128_to_int16_xfloor (UINT128 x
					  _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern short bid128_to_int16_ceil (UINT128 x _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern short bid128_to_int16_xceil (UINT128 x
					 _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern unsigned char bid128_to_uint8_rnint (UINT128 x
						 _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern unsigned char bid128_to_uint8_xrnint (UINT128 x
						  _EXC_FLAGS_PARAM
						  _EXC_MASKS_PARAM
						  _EXC_INFO_PARAM);
     extern unsigned char bid128_to_uint8_rninta (UINT128 x
						  _EXC_FLAGS_PARAM
						  _EXC_MASKS_PARAM
						  _EXC_INFO_PARAM);
     extern unsigned char bid128_to_uint8_xrninta (UINT128 x
						   _EXC_FLAGS_PARAM
						   _EXC_MASKS_PARAM
						   _EXC_INFO_PARAM);
     extern unsigned char bid128_to_uint8_int (UINT128 x
					       _EXC_FLAGS_PARAM
					       _EXC_MASKS_PARAM
					       _EXC_INFO_PARAM);
     extern unsigned char bid128_to_uint8_xint (UINT128 x
						_EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern unsigned char bid128_to_uint8_floor (UINT128 x
						 _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern unsigned char bid128_to_uint8_xfloor (UINT128 x
						  _EXC_FLAGS_PARAM
						  _EXC_MASKS_PARAM
						  _EXC_INFO_PARAM);
     extern unsigned char bid128_to_uint8_ceil (UINT128 x
						_EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern unsigned char bid128_to_uint8_xceil (UINT128 x
						 _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern unsigned short bid128_to_uint16_rnint (UINT128 x
						   _EXC_FLAGS_PARAM
						   _EXC_MASKS_PARAM
						   _EXC_INFO_PARAM);
     extern unsigned short bid128_to_uint16_xrnint (UINT128 x
						    _EXC_FLAGS_PARAM
						    _EXC_MASKS_PARAM
						    _EXC_INFO_PARAM);
     extern unsigned short bid128_to_uint16_rninta (UINT128 x
						    _EXC_FLAGS_PARAM
						    _EXC_MASKS_PARAM
						    _EXC_INFO_PARAM);
     extern unsigned short bid128_to_uint16_xrninta (UINT128 x
						     _EXC_FLAGS_PARAM
						     _EXC_MASKS_PARAM
						     _EXC_INFO_PARAM);
     extern unsigned short bid128_to_uint16_int (UINT128 x
						 _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern unsigned short bid128_to_uint16_xint (UINT128 x
						  _EXC_FLAGS_PARAM
						  _EXC_MASKS_PARAM
						  _EXC_INFO_PARAM);
     extern unsigned short bid128_to_uint16_floor (UINT128 x
						   _EXC_FLAGS_PARAM
						   _EXC_MASKS_PARAM
						   _EXC_INFO_PARAM);
     extern unsigned short bid128_to_uint16_xfloor (UINT128 x
						    _EXC_FLAGS_PARAM
						    _EXC_MASKS_PARAM
						    _EXC_INFO_PARAM);
     extern unsigned short bid128_to_uint16_ceil (UINT128 x
						  _EXC_FLAGS_PARAM
						  _EXC_MASKS_PARAM
						  _EXC_INFO_PARAM);
     extern unsigned short bid128_to_uint16_xceil (UINT128 x
						   _EXC_FLAGS_PARAM
						   _EXC_MASKS_PARAM
						   _EXC_INFO_PARAM);
     extern int bid128_to_int32_rnint (UINT128 x _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern int bid128_to_int32_xrnint (UINT128 x _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern int bid128_to_int32_rninta (UINT128 x _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern int bid128_to_int32_xrninta (UINT128 x _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern int bid128_to_int32_int (UINT128 x _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid128_to_int32_xint (UINT128 x _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid128_to_int32_floor (UINT128 x _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern int bid128_to_int32_xfloor (UINT128 x _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern int bid128_to_int32_ceil (UINT128 x _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid128_to_int32_xceil (UINT128 x _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern unsigned int bid128_to_uint32_rnint (UINT128 x
						 _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern unsigned int bid128_to_uint32_xrnint (UINT128 x
						  _EXC_FLAGS_PARAM
						  _EXC_MASKS_PARAM
						  _EXC_INFO_PARAM);
     extern unsigned int bid128_to_uint32_rninta (UINT128 x
						  _EXC_FLAGS_PARAM
						  _EXC_MASKS_PARAM
						  _EXC_INFO_PARAM);
     extern unsigned int bid128_to_uint32_xrninta (UINT128 x
						   _EXC_FLAGS_PARAM
						   _EXC_MASKS_PARAM
						   _EXC_INFO_PARAM);
     extern unsigned int bid128_to_uint32_int (UINT128 x
					       _EXC_FLAGS_PARAM
					       _EXC_MASKS_PARAM
					       _EXC_INFO_PARAM);
     extern unsigned int bid128_to_uint32_xint (UINT128 x
						_EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern unsigned int bid128_to_uint32_floor (UINT128 x
						 _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern unsigned int bid128_to_uint32_xfloor (UINT128 x
						  _EXC_FLAGS_PARAM
						  _EXC_MASKS_PARAM
						  _EXC_INFO_PARAM);
     extern unsigned int bid128_to_uint32_ceil (UINT128 x
						_EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern unsigned int bid128_to_uint32_xceil (UINT128 x
						 _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern SINT64 bid128_to_int64_rnint (UINT128 x _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern SINT64 bid128_to_int64_xrnint (UINT128 x _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);
     extern SINT64 bid128_to_int64_rninta (UINT128 x _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);
     extern SINT64 bid128_to_int64_xrninta (UINT128 x _EXC_FLAGS_PARAM
					    _EXC_MASKS_PARAM
					    _EXC_INFO_PARAM);
     extern SINT64 bid128_to_int64_int (UINT128 x _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern SINT64 bid128_to_int64_xint (UINT128 x _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern SINT64 bid128_to_int64_floor (UINT128 x _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern SINT64 bid128_to_int64_xfloor (UINT128 x _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);
     extern SINT64 bid128_to_int64_ceil (UINT128 x _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern SINT64 bid128_to_int64_xceil (UINT128 x _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern UINT64 bid128_to_uint64_rnint (UINT128 x _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);
     extern UINT64 bid128_to_uint64_xrnint (UINT128 x _EXC_FLAGS_PARAM
					    _EXC_MASKS_PARAM
					    _EXC_INFO_PARAM);
     extern UINT64 bid128_to_uint64_rninta (UINT128 x _EXC_FLAGS_PARAM
					    _EXC_MASKS_PARAM
					    _EXC_INFO_PARAM);
     extern UINT64 bid128_to_uint64_xrninta (UINT128 x _EXC_FLAGS_PARAM
					     _EXC_MASKS_PARAM
					     _EXC_INFO_PARAM);
     extern UINT64 bid128_to_uint64_int (UINT128 x _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern UINT64 bid128_to_uint64_xint (UINT128 x _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern UINT64 bid128_to_uint64_floor (UINT128 x _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);
     extern UINT64 bid128_to_uint64_xfloor (UINT128 x _EXC_FLAGS_PARAM
					    _EXC_MASKS_PARAM
					    _EXC_INFO_PARAM);
     extern UINT64 bid128_to_uint64_ceil (UINT128 x _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern UINT64 bid128_to_uint64_xceil (UINT128 x _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);
     extern int bid64_to_int32_rnint (UINT64 x _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid64_to_int32_xrnint (UINT64 x _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern int bid64_to_int32_rninta (UINT64 x _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern int bid64_to_int32_xrninta (UINT64 x _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern int bid64_to_int32_int (UINT64 x _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid64_to_int32_xint (UINT64 x _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid64_to_int32_floor (UINT64 x _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid64_to_int32_xfloor (UINT64 x _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern int bid64_to_int32_ceil (UINT64 x _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid64_to_int32_xceil (UINT64 x _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern char bid64_to_int8_rnint (UINT64 x _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern char bid64_to_int8_xrnint (UINT64 x _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern char bid64_to_int8_rninta (UINT64 x _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern char bid64_to_int8_xrninta (UINT64 x _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern char bid64_to_int8_int (UINT64 x _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern char bid64_to_int8_xint (UINT64 x _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern char bid64_to_int8_floor (UINT64 x _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern char bid64_to_int8_xfloor (UINT64 x _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern char bid64_to_int8_ceil (UINT64 x _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern char bid64_to_int8_xceil (UINT64 x _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern short bid64_to_int16_rnint (UINT64 x _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern short bid64_to_int16_xrnint (UINT64 x _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern short bid64_to_int16_rninta (UINT64 x _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern short bid64_to_int16_xrninta (UINT64 x _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern short bid64_to_int16_int (UINT64 x _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern short bid64_to_int16_xint (UINT64 x _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern short bid64_to_int16_floor (UINT64 x _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern short bid64_to_int16_xfloor (UINT64 x _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern short bid64_to_int16_ceil (UINT64 x _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern short bid64_to_int16_xceil (UINT64 x _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern unsigned char bid64_to_uint8_rnint (UINT64 x
						_EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern unsigned char bid64_to_uint8_xrnint (UINT64 x
						 _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern unsigned char bid64_to_uint8_rninta (UINT64 x
						 _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern unsigned char bid64_to_uint8_xrninta (UINT64 x
						  _EXC_FLAGS_PARAM
						  _EXC_MASKS_PARAM
						  _EXC_INFO_PARAM);
     extern unsigned char bid64_to_uint8_int (UINT64 x _EXC_FLAGS_PARAM
					      _EXC_MASKS_PARAM
					      _EXC_INFO_PARAM);
     extern unsigned char bid64_to_uint8_xint (UINT64 x _EXC_FLAGS_PARAM
					       _EXC_MASKS_PARAM
					       _EXC_INFO_PARAM);
     extern unsigned char bid64_to_uint8_floor (UINT64 x
						_EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern unsigned char bid64_to_uint8_xfloor (UINT64 x
						 _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern unsigned char bid64_to_uint8_ceil (UINT64 x _EXC_FLAGS_PARAM
					       _EXC_MASKS_PARAM
					       _EXC_INFO_PARAM);
     extern unsigned char bid64_to_uint8_xceil (UINT64 x
						_EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern unsigned short bid64_to_uint16_rnint (UINT64 x
						  _EXC_FLAGS_PARAM
						  _EXC_MASKS_PARAM
						  _EXC_INFO_PARAM);
     extern unsigned short bid64_to_uint16_xrnint (UINT64 x
						   _EXC_FLAGS_PARAM
						   _EXC_MASKS_PARAM
						   _EXC_INFO_PARAM);
     extern unsigned short bid64_to_uint16_rninta (UINT64 x
						   _EXC_FLAGS_PARAM
						   _EXC_MASKS_PARAM
						   _EXC_INFO_PARAM);
     extern unsigned short bid64_to_uint16_xrninta (UINT64 x
						    _EXC_FLAGS_PARAM
						    _EXC_MASKS_PARAM
						    _EXC_INFO_PARAM);
     extern unsigned short bid64_to_uint16_int (UINT64 x
						_EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern unsigned short bid64_to_uint16_xint (UINT64 x
						 _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern unsigned short bid64_to_uint16_floor (UINT64 x
						  _EXC_FLAGS_PARAM
						  _EXC_MASKS_PARAM
						  _EXC_INFO_PARAM);
     extern unsigned short bid64_to_uint16_xfloor (UINT64 x
						   _EXC_FLAGS_PARAM
						   _EXC_MASKS_PARAM
						   _EXC_INFO_PARAM);
     extern unsigned short bid64_to_uint16_ceil (UINT64 x
						 _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern unsigned short bid64_to_uint16_xceil (UINT64 x
						  _EXC_FLAGS_PARAM
						  _EXC_MASKS_PARAM
						  _EXC_INFO_PARAM);
     extern unsigned int bid64_to_uint32_rnint (UINT64 x
						_EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern unsigned int bid64_to_uint32_xrnint (UINT64 x
						 _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern unsigned int bid64_to_uint32_rninta (UINT64 x
						 _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern unsigned int bid64_to_uint32_xrninta (UINT64 x
						  _EXC_FLAGS_PARAM
						  _EXC_MASKS_PARAM
						  _EXC_INFO_PARAM);
     extern unsigned int bid64_to_uint32_int (UINT64 x _EXC_FLAGS_PARAM
					      _EXC_MASKS_PARAM
					      _EXC_INFO_PARAM);
     extern unsigned int bid64_to_uint32_xint (UINT64 x _EXC_FLAGS_PARAM
					       _EXC_MASKS_PARAM
					       _EXC_INFO_PARAM);
     extern unsigned int bid64_to_uint32_floor (UINT64 x
						_EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern unsigned int bid64_to_uint32_xfloor (UINT64 x
						 _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern unsigned int bid64_to_uint32_ceil (UINT64 x _EXC_FLAGS_PARAM
					       _EXC_MASKS_PARAM
					       _EXC_INFO_PARAM);
     extern unsigned int bid64_to_uint32_xceil (UINT64 x
						_EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern SINT64 bid64_to_int64_rnint (UINT64 x _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern SINT64 bid64_to_int64_xrnint (UINT64 x _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern SINT64 bid64_to_int64_rninta (UINT64 x _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern SINT64 bid64_to_int64_xrninta (UINT64 x _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);
     extern SINT64 bid64_to_int64_int (UINT64 x _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern SINT64 bid64_to_int64_xint (UINT64 x _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern SINT64 bid64_to_int64_floor (UINT64 x _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern SINT64 bid64_to_int64_xfloor (UINT64 x _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern SINT64 bid64_to_int64_ceil (UINT64 x _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern SINT64 bid64_to_int64_xceil (UINT64 x _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern UINT64 bid64_to_uint64_rnint (UINT64 x _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern UINT64 bid64_to_uint64_xrnint (UINT64 x _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);
     extern UINT64 bid64_to_uint64_rninta (UINT64 x _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);
     extern UINT64 bid64_to_uint64_xrninta (UINT64 x _EXC_FLAGS_PARAM
					    _EXC_MASKS_PARAM
					    _EXC_INFO_PARAM);
     extern UINT64 bid64_to_uint64_int (UINT64 x _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern UINT64 bid64_to_uint64_xint (UINT64 x _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern UINT64 bid64_to_uint64_floor (UINT64 x _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern UINT64 bid64_to_uint64_xfloor (UINT64 x _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);
     extern UINT64 bid64_to_uint64_ceil (UINT64 x _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern UINT64 bid64_to_uint64_xceil (UINT64 x _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);

     extern int bid64_quiet_equal (UINT64 x, UINT64 y
				   _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				   _EXC_INFO_PARAM);
     extern int bid64_quiet_greater (UINT64 x,
				     UINT64 y _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid64_quiet_greater_equal (UINT64 x,
					   UINT64 y _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);
     extern int bid64_quiet_greater_unordered (UINT64 x,
					       UINT64 y _EXC_FLAGS_PARAM
					       _EXC_MASKS_PARAM
					       _EXC_INFO_PARAM);
     extern int bid64_quiet_less (UINT64 x,
				  UINT64 y _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid64_quiet_less_equal (UINT64 x,
					UINT64 y _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern int bid64_quiet_less_unordered (UINT64 x,
					    UINT64 y _EXC_FLAGS_PARAM
					    _EXC_MASKS_PARAM
					    _EXC_INFO_PARAM);
     extern int bid64_quiet_not_equal (UINT64 x,
				       UINT64 y _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern int bid64_quiet_not_greater (UINT64 x,
					 UINT64 y _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern int bid64_quiet_not_less (UINT64 x,
				      UINT64 y _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid64_quiet_ordered (UINT64 x,
				     UINT64 y _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid64_quiet_unordered (UINT64 x,
				       UINT64 y _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern int bid64_signaling_greater (UINT64 x,
					 UINT64 y _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern int bid64_signaling_greater_equal (UINT64 x,
					       UINT64 y _EXC_FLAGS_PARAM
					       _EXC_MASKS_PARAM
					       _EXC_INFO_PARAM);
     extern int bid64_signaling_greater_unordered (UINT64 x,
						   UINT64 y
						   _EXC_FLAGS_PARAM
						   _EXC_MASKS_PARAM
						   _EXC_INFO_PARAM);
     extern int bid64_signaling_less (UINT64 x,
				      UINT64 y _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid64_signaling_less_equal (UINT64 x,
					    UINT64 y _EXC_FLAGS_PARAM
					    _EXC_MASKS_PARAM
					    _EXC_INFO_PARAM);
     extern int bid64_signaling_less_unordered (UINT64 x,
						UINT64 y
						_EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern int bid64_signaling_not_greater (UINT64 x,
					     UINT64 y _EXC_FLAGS_PARAM
					     _EXC_MASKS_PARAM
					     _EXC_INFO_PARAM);
     extern int bid64_signaling_not_less (UINT64 x,
					  UINT64 y _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);

     extern int bid128_quiet_equal (UINT128 x, UINT128 y
				    _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				    _EXC_INFO_PARAM);
     extern int bid128_quiet_greater (UINT128 x,
				      UINT128 y _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid128_quiet_greater_equal (UINT128 x,
					    UINT128 y _EXC_FLAGS_PARAM
					    _EXC_MASKS_PARAM
					    _EXC_INFO_PARAM);
     extern int bid128_quiet_greater_unordered (UINT128 x,
						UINT128 y
						_EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern int bid128_quiet_less (UINT128 x,
				   UINT128 y _EXC_FLAGS_PARAM
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid128_quiet_less_equal (UINT128 x,
					 UINT128 y _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);
     extern int bid128_quiet_less_unordered (UINT128 x,
					     UINT128 y _EXC_FLAGS_PARAM
					     _EXC_MASKS_PARAM
					     _EXC_INFO_PARAM);
     extern int bid128_quiet_not_equal (UINT128 x,
					UINT128 y _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern int bid128_quiet_not_greater (UINT128 x,
					  UINT128 y _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern int bid128_quiet_not_less (UINT128 x,
				       UINT128 y _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern int bid128_quiet_ordered (UINT128 x,
				      UINT128 y _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid128_quiet_unordered (UINT128 x,
					UINT128 y _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern int bid128_signaling_greater (UINT128 x,
					  UINT128 y _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);
     extern int bid128_signaling_greater_equal (UINT128 x,
						UINT128 y
						_EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern int bid128_signaling_greater_unordered (UINT128 x,
						    UINT128 y
						    _EXC_FLAGS_PARAM
						    _EXC_MASKS_PARAM
						    _EXC_INFO_PARAM);
     extern int bid128_signaling_less (UINT128 x,
				       UINT128 y _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern int bid128_signaling_less_equal (UINT128 x,
					     UINT128 y _EXC_FLAGS_PARAM
					     _EXC_MASKS_PARAM
					     _EXC_INFO_PARAM);
     extern int bid128_signaling_less_unordered (UINT128 x,
						 UINT128 y
						 _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern int bid128_signaling_not_greater (UINT128 x,
					      UINT128 y _EXC_FLAGS_PARAM
					      _EXC_MASKS_PARAM
					      _EXC_INFO_PARAM);
     extern int bid128_signaling_not_less (UINT128 x,
					   UINT128 y _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);

     extern UINT64 bid64_round_integral_exact (UINT64 x
					       _RND_MODE_PARAM
					       _EXC_FLAGS_PARAM
					       _EXC_MASKS_PARAM
					       _EXC_INFO_PARAM);
     extern UINT64 bid64_round_integral_nearest_even (UINT64 x
						      _EXC_FLAGS_PARAM
						      _EXC_MASKS_PARAM
						      _EXC_INFO_PARAM);
     extern UINT64 bid64_round_integral_negative (UINT64 x
						  _EXC_FLAGS_PARAM
						  _EXC_MASKS_PARAM
						  _EXC_INFO_PARAM);
     extern UINT64 bid64_round_integral_positive (UINT64 x
						  _EXC_FLAGS_PARAM
						  _EXC_MASKS_PARAM
						  _EXC_INFO_PARAM);
     extern UINT64 bid64_round_integral_zero (UINT64 x _EXC_FLAGS_PARAM
					      _EXC_MASKS_PARAM
					      _EXC_INFO_PARAM);
     extern UINT64 bid64_round_integral_nearest_away (UINT64 x
						      _EXC_FLAGS_PARAM
						      _EXC_MASKS_PARAM
						      _EXC_INFO_PARAM);

     extern UINT128 bid128_round_integral_exact (UINT128 x
						 _RND_MODE_PARAM
						 _EXC_FLAGS_PARAM
						 _EXC_MASKS_PARAM
						 _EXC_INFO_PARAM);
     extern UINT128 bid128_round_integral_nearest_even (UINT128 x
							_EXC_FLAGS_PARAM
							_EXC_MASKS_PARAM
							_EXC_INFO_PARAM);
     extern UINT128 bid128_round_integral_negative (UINT128 x
						    _EXC_FLAGS_PARAM
						    _EXC_MASKS_PARAM
						    _EXC_INFO_PARAM);
     extern UINT128 bid128_round_integral_positive (UINT128 x
						    _EXC_FLAGS_PARAM
						    _EXC_MASKS_PARAM
						    _EXC_INFO_PARAM);
     extern UINT128 bid128_round_integral_zero (UINT128 x
						_EXC_FLAGS_PARAM
						_EXC_MASKS_PARAM
						_EXC_INFO_PARAM);
     extern UINT128 bid128_round_integral_nearest_away (UINT128 x
							_EXC_FLAGS_PARAM
							_EXC_MASKS_PARAM
							_EXC_INFO_PARAM);

     extern UINT64 bid64_nextup (UINT64 x
				 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				 _EXC_INFO_PARAM);
     extern UINT64 bid64_nextdown (UINT64 x _EXC_FLAGS_PARAM
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64_nextafter (UINT64 x,
				    UINT64 y _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern UINT128 bid128_nextup (UINT128 x
				   _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				   _EXC_INFO_PARAM);
     extern UINT128 bid128_nextdown (UINT128 x _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128_nextafter (UINT128 x,
				      UINT128 y _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern UINT64 bid64_minnum (UINT64 x, UINT64 y _EXC_FLAGS_PARAM);
     extern UINT64 bid64_minnum_mag (UINT64 x,
				     UINT64 y _EXC_FLAGS_PARAM);
     extern UINT64 bid64_maxnum (UINT64 x, UINT64 y _EXC_FLAGS_PARAM);
     extern UINT64 bid64_maxnum_mag (UINT64 x,
				     UINT64 y _EXC_FLAGS_PARAM);

     extern UINT128 bid128_minnum (UINT128 x,
				   UINT128 y _EXC_FLAGS_PARAM);
     extern UINT128 bid128_minnum_mag (UINT128 x,
				       UINT128 y _EXC_FLAGS_PARAM);
     extern UINT128 bid128_maxnum (UINT128 x,
				   UINT128 y _EXC_FLAGS_PARAM);
     extern UINT128 bid128_maxnum_mag (UINT128 x,
				       UINT128 y _EXC_FLAGS_PARAM);

     extern UINT64 bid64_from_int32 (int x _EXC_MASKS_PARAM
				     _EXC_INFO_PARAM);
     extern UINT64 bid64_from_uint32 (unsigned int x _EXC_MASKS_PARAM
				      _EXC_INFO_PARAM);
     extern UINT64 bid64_from_int64 (SINT64 x _RND_MODE_PARAM
				     _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				     _EXC_INFO_PARAM);
     extern UINT64 bid64_from_uint64 (UINT64 _RND_MODE_PARAM
				      _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				      _EXC_INFO_PARAM);
     extern UINT128 bid128_from_int32 (int x _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern UINT128 bid128_from_uint32 (unsigned int x _EXC_MASKS_PARAM
					_EXC_INFO_PARAM);
     extern UINT128 bid128_from_int64 (SINT64 x _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);
     extern UINT128 bid128_from_uint64 (UINT64 x _EXC_MASKS_PARAM
					_EXC_INFO_PARAM);

     extern int bid64_isSigned (UINT64 x _EXC_MASKS_PARAM
				_EXC_INFO_PARAM);
     extern int bid64_isNormal (UINT64 x _EXC_MASKS_PARAM
				_EXC_INFO_PARAM);
     extern int bid64_isSubnormal (UINT64 x _EXC_MASKS_PARAM
				   _EXC_INFO_PARAM);
     extern int bid64_isFinite (UINT64 x _EXC_MASKS_PARAM
				_EXC_INFO_PARAM);
     extern int bid64_isZero (UINT64 x _EXC_MASKS_PARAM
			      _EXC_INFO_PARAM);
     extern int bid64_isInf (UINT64 x _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid64_isSignaling (UINT64 x _EXC_MASKS_PARAM
				   _EXC_INFO_PARAM);
     extern int bid64_isCanonical (UINT64 x _EXC_MASKS_PARAM
				   _EXC_INFO_PARAM);
     extern int bid64_isNaN (UINT64 x _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64_copy (UINT64 x _EXC_MASKS_PARAM
			       _EXC_INFO_PARAM);
     extern UINT64 bid64_negate (UINT64 x _EXC_MASKS_PARAM
				 _EXC_INFO_PARAM);
     extern UINT64 bid64_abs (UINT64 x _EXC_MASKS_PARAM
			      _EXC_INFO_PARAM);
     extern UINT64 bid64_copySign (UINT64 x,
				   UINT64 y _EXC_MASKS_PARAM
				   _EXC_INFO_PARAM);
     extern int bid64_class (UINT64 x _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid64_sameQuantum (UINT64 x, UINT64 y
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid64_totalOrder (UINT64 x, UINT64 y
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid64_totalOrderMag (UINT64 x, UINT64 y
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid64_radix (UINT64 x _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern int bid128_isSigned (UINT128 x _EXC_MASKS_PARAM
				 _EXC_INFO_PARAM);
     extern int bid128_isNormal (UINT128 x _EXC_MASKS_PARAM
				 _EXC_INFO_PARAM);
     extern int bid128_isSubnormal (UINT128 x _EXC_MASKS_PARAM
				    _EXC_INFO_PARAM);
     extern int bid128_isFinite (UINT128 x _EXC_MASKS_PARAM
				 _EXC_INFO_PARAM);
     extern int bid128_isZero (UINT128 x _EXC_MASKS_PARAM
			       _EXC_INFO_PARAM);
     extern int bid128_isInf (UINT128 x _EXC_MASKS_PARAM
			      _EXC_INFO_PARAM);
     extern int bid128_isSignaling (UINT128 x _EXC_MASKS_PARAM
				    _EXC_INFO_PARAM);
     extern int bid128_isCanonical (UINT128 x _EXC_MASKS_PARAM
				    _EXC_INFO_PARAM);
     extern int bid128_isNaN (UINT128 x _EXC_MASKS_PARAM
			      _EXC_INFO_PARAM);
     extern UINT128 bid128_copy (UINT128 x _EXC_MASKS_PARAM
				 _EXC_INFO_PARAM);
     extern UINT128 bid128_negate (UINT128 x _EXC_MASKS_PARAM
				   _EXC_INFO_PARAM);
     extern UINT128 bid128_abs (UINT128 x _EXC_MASKS_PARAM
				_EXC_INFO_PARAM);
     extern UINT128 bid128_copySign (UINT128 x,
				     UINT128 y _EXC_MASKS_PARAM
				     _EXC_INFO_PARAM);
     extern int bid128_class (UINT128 x _EXC_MASKS_PARAM
			      _EXC_INFO_PARAM);
     extern int bid128_sameQuantum (UINT128 x,
				    UINT128 y _EXC_MASKS_PARAM
				    _EXC_INFO_PARAM);
     extern int bid128_totalOrder (UINT128 x,
				   UINT128 y _EXC_MASKS_PARAM
				   _EXC_INFO_PARAM);
     extern int bid128_totalOrderMag (UINT128 x,
				      UINT128 y _EXC_MASKS_PARAM
				      _EXC_INFO_PARAM);
     extern int bid128_radix (UINT128 x _EXC_MASKS_PARAM
			      _EXC_INFO_PARAM);

     extern UINT64 bid64_rem (UINT64 x, UINT64 y
			      _EXC_FLAGS_PARAM
			      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid64_logb (UINT64 x _EXC_FLAGS_PARAM
			       _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64_scalb (UINT64 x,
				int n _RND_MODE_PARAM _EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern UINT128 bid128_rem (UINT128 x, UINT128 y
				_EXC_FLAGS_PARAM
				_EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern int bid128_logb (UINT128 x
				 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
				 _EXC_INFO_PARAM);
     extern UINT128 bid128_scalb (UINT128 x,
				  int n _RND_MODE_PARAM _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern UINT64 bid32_to_bid64 (UINT32 x _EXC_FLAGS_PARAM
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid32_to_bid128 (UINT32 x _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid64_to_bid128 (UINT64 x _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT32 bid64_to_bid32 (UINT64 x
				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT32 bid128_to_bid32 (UINT128 x _RND_MODE_PARAM
				    _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid128_to_bid64 (UINT128 x _RND_MODE_PARAM
				    _EXC_FLAGS_PARAM
				    _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern void bid64_to_string (char *ps, UINT64 x
				  _EXC_FLAGS_PARAM
				  _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT64 bid64_from_string (char *ps
				      _RND_MODE_PARAM _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern void bid128_to_string (char *str, UINT128 x
				   _EXC_FLAGS_PARAM
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);
     extern UINT128 bid128_from_string (char *ps
					_RND_MODE_PARAM _EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);

     extern UINT64 bid64_quantize (UINT64 x, UINT64 y
				   _RND_MODE_PARAM _EXC_FLAGS_PARAM
				   _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern UINT128 bid128_quantize (UINT128 x, UINT128 y
				     _RND_MODE_PARAM
				     _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);


     extern UINT32 binary128_to_bid32 (BINARY128 x
				       _RND_MODE_PARAM
				       _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);

     extern UINT64 binary128_to_bid64 (BINARY128 x
				       _RND_MODE_PARAM
				       _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);

     extern UINT128 binary128_to_bid128 (BINARY128 x
					 _RND_MODE_PARAM
					 _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);

     extern UINT32 binary64_to_bid32 (double x
				      _RND_MODE_PARAM
				      _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern UINT64 binary64_to_bid64 (double x
				      _RND_MODE_PARAM
				      _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern UINT128 binary64_to_bid128 (double x
					_RND_MODE_PARAM
					_EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);

     extern UINT32 binary80_to_bid32 (BINARY80 x
				      _RND_MODE_PARAM
				      _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern UINT64 binary80_to_bid64 (BINARY80 x
				      _RND_MODE_PARAM
				      _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern UINT128 binary80_to_bid128 (BINARY80 x
					_RND_MODE_PARAM
					_EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);

     extern UINT32 binary32_to_bid32 (float x
				      _RND_MODE_PARAM
				      _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern UINT64 binary32_to_bid64 (float x
				      _RND_MODE_PARAM
				      _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern UINT128 binary32_to_bid128 (float x
					_RND_MODE_PARAM
					_EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);

     extern float bid128_to_binary32 (UINT128 x
				      _RND_MODE_PARAM _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern double bid128_to_binary64 (UINT128 x
				       _RND_MODE_PARAM _EXC_FLAGS_PARAM
				       _EXC_MASKS_PARAM
				       _EXC_INFO_PARAM);

     extern BINARY80 bid128_to_binary80 (UINT128 x
					 _RND_MODE_PARAM
					 _EXC_FLAGS_PARAM
					 _EXC_MASKS_PARAM
					 _EXC_INFO_PARAM);

     extern BINARY128 bid128_to_binary128 (UINT128 x
					   _RND_MODE_PARAM
					   _EXC_FLAGS_PARAM
					   _EXC_MASKS_PARAM
					   _EXC_INFO_PARAM);

     extern float bid64_to_binary32 (UINT64 x
				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern double bid64_to_binary64 (UINT64 x
				      _RND_MODE_PARAM _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern BINARY80 bid64_to_binary80 (UINT64 x
					_RND_MODE_PARAM
					_EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);

     extern BINARY128 bid64_to_binary128 (UINT64 x
					  _RND_MODE_PARAM
					  _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);

     extern float bid32_to_binary32 (UINT32 x
				     _RND_MODE_PARAM _EXC_FLAGS_PARAM
				     _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern double bid32_to_binary64 (UINT32 x
				      _RND_MODE_PARAM _EXC_FLAGS_PARAM
				      _EXC_MASKS_PARAM _EXC_INFO_PARAM);

     extern BINARY80 bid32_to_binary80 (UINT32 x
					_RND_MODE_PARAM
					_EXC_FLAGS_PARAM
					_EXC_MASKS_PARAM
					_EXC_INFO_PARAM);

     extern BINARY128 bid32_to_binary128 (UINT32 x
					  _RND_MODE_PARAM
					  _EXC_FLAGS_PARAM
					  _EXC_MASKS_PARAM
					  _EXC_INFO_PARAM);

     extern int is754 (void);

     extern int is754R (void);

     extern void signalException (_IDEC_flags flagsmask
				  _EXC_FLAGS_PARAM);

     extern void lowerFlags (_IDEC_flags flagsmask _EXC_FLAGS_PARAM);

     extern _IDEC_flags testFlags (_IDEC_flags flagsmask
				   _EXC_FLAGS_PARAM);

     extern _IDEC_flags testSavedFlags (_IDEC_flags savedflags,
					_IDEC_flags flagsmask);

     extern void restoreFlags (_IDEC_flags flagsvalues,
			       _IDEC_flags flagsmask _EXC_FLAGS_PARAM);

     extern _IDEC_flags saveFlags (_IDEC_flags flagsmask
				   _EXC_FLAGS_PARAM);

#if !DECIMAL_GLOBAL_ROUNDING
     _IDEC_round getDecimalRoundingDirection (_IDEC_round rnd_mode);
#else
     _IDEC_round getDecimalRoundingDirection (void);
#endif

#if !DECIMAL_GLOBAL_ROUNDING
     _IDEC_round setDecimalRoundingDirection (_IDEC_round
					      rounding_mode
					      _RND_MODE_PARAM);
#else
     void setDecimalRoundingDirection (_IDEC_round rounding_mode);
#endif

#endif

// Internal Functions

     extern void
       round64_2_18 (int q,
		     int x,
		     UINT64 C,
		     UINT64 * ptr_Cstar,
		     int *delta_exp,
		     int *ptr_is_midpoint_lt_even,
		     int *ptr_is_midpoint_gt_even,
		     int *ptr_is_inexact_lt_midpoint,
		     int *ptr_is_inexact_gt_midpoint);

     extern void
       round128_19_38 (int q,
		       int x,
		       UINT128 C,
		       UINT128 * ptr_Cstar,
		       int *delta_exp,
		       int *ptr_is_midpoint_lt_even,
		       int *ptr_is_midpoint_gt_even,
		       int *ptr_is_inexact_lt_midpoint,
		       int *ptr_is_inexact_gt_midpoint);

     extern void
       round192_39_57 (int q,
		       int x,
		       UINT192 C,
		       UINT192 * ptr_Cstar,
		       int *delta_exp,
		       int *ptr_is_midpoint_lt_even,
		       int *ptr_is_midpoint_gt_even,
		       int *ptr_is_inexact_lt_midpoint,
		       int *ptr_is_inexact_gt_midpoint);

     extern void
       round256_58_76 (int q,
		       int x,
		       UINT256 C,
		       UINT256 * ptr_Cstar,
		       int *delta_exp,
		       int *ptr_is_midpoint_lt_even,
		       int *ptr_is_midpoint_gt_even,
		       int *ptr_is_inexact_lt_midpoint,
		       int *ptr_is_inexact_gt_midpoint);

#endif

// Prototypes for Internal Functions

     extern UINT32 bid_to_bid32 (UINT32);
     extern UINT64 bid_to_bid64 (UINT64);
     extern UINT128 bid_to_bid128 (UINT128);
     extern UINT32 bid32_canonize (UINT32);
     extern UINT64 bid64_canonize (UINT64);
     extern UINT128 bid128_canonize (UINT128);
