/* 
 *     Copyright (c) 2017, NVIDIA CORPORATION.  All rights reserved.
 *
 * NVIDIA CORPORATION and its licensors retain all intellectual property
 * and proprietary rights in and to this software, related documentation
 * and any modifications thereto.  Any use, reproduction, disclosure or
 * distribution of this software and related documentation without an express
 * license agreement from NVIDIA CORPORATION is strictly prohibited.
 *
 */


extern int __brev( int a );
extern long __brevll( long a );
extern int __clz( unsigned int x );
extern int __clzll( unsigned long long x );
extern float __cosf( float a );
extern double __dadd_rd( double a, double b );
extern double __dadd_rn( double a, double b );
extern double __dadd_ru( double a, double b );
extern double __dadd_rz( double a, double b );
extern double __ddiv_rd( double a, double b );
extern double __ddiv_rn( double a, double b );
extern double __ddiv_ru( double a, double b );
extern double __ddiv_rz( double a, double b );
extern double __dmul_rd( double a, double b );
extern double __dmul_rn( double a, double b );
extern double __dmul_ru( double a, double b );
extern double __dmul_rz( double a, double b );
extern float __double2float_rd( double a );
extern float __double2float_rn( double a );
extern float __double2float_ru( double a );
extern float __double2float_rz( double a );
extern int __double2hiint( double a );
extern int __double2int_rd( double a );
extern int __double2int_rn( double a );
extern int __double2int_ru( double a );
extern int __double2int_rz( double a );
extern long __double2ll_rd( double a );
extern long __double2ll_rn( double a );
extern long __double2ll_ru( double a );
extern long __double2ll_rz( double a );
extern unsigned int __double2uint_rd( double a );
extern unsigned int __double2uint_rn( double a );
extern unsigned int __double2uint_ru( double a );
extern unsigned int __double2uint_rz( double a );
extern unsigned long __double2ull_rd( double a );
extern unsigned long __double2ull_rn( double a );
extern unsigned long __double2ull_ru( double a );
extern unsigned long __double2ull_rz( double a );
extern long __double_as_longlong( double a );
extern double __drcp_rd( double a );
extern double __drcp_rn( double a );
extern double __drcp_ru( double a );
extern double __drcp_rz( double a );
extern double __dsqrt_rd( double a );
extern double __dsqrt_rn( double a );
extern double __dsqrt_ru( double a );
extern double __dsqrt_rz( double a );
extern float __exp10f( float a );
extern float __expf( float a );
extern float __fadd_rd( float a, float b );
extern float __fadd_rn( float a, float b );
extern float __fadd_ru( float a, float b );
extern float __fadd_rz( float a, float b );
extern float __fdiv_rd( float a, float b );
extern float __fdiv_rn( float a, float b );
extern float __fdiv_ru( float a, float b );
extern float __fdiv_rz( float a, float b );
extern double fdivide( double a, double b );
extern float fdividef( float a, float b );
extern float __fdividef( float a, float b );
extern int __ffs( int a );
extern int __ffsll( long a );
extern unsigned short __float2half_rn( float a );
extern int __float2int_rd( float a );
extern int __float2int_rn( float a );
extern int __float2int_ru( float a );
extern int __float2int_rz( float a );
extern long __float2ll_rd( float a );
extern long __float2ll_rn( float a );
extern long __float2ll_ru( float a );
extern long __float2ll_rz( float a );
extern unsigned int __float2uint_rd( float a );
extern unsigned int __float2uint_rn( float a );
extern unsigned int __float2uint_ru( float a );
extern unsigned int __float2uint_rz( float a );
extern unsigned long __float2ull_rd( float a );
extern unsigned long __float2ull_rn( float a );
extern unsigned long __float2ull_ru( float a );
extern unsigned long __float2ull_rz( float a );
extern int __float_as_int( float a );
extern double __fma_rd( double a, double b, double c );
extern double __fma_rn( double a, double b, double c );
extern double __fma_ru( double a, double b, double c );
extern double __fma_rz( double a, double b, double c );
extern float __fmaf_rd( float a, float b, float c );
extern float __fmaf_rn( float a, float b, float c );
extern float __fmaf_ru( float a, float b, float c );
extern float __fmaf_rz( float a, float b, float c );
extern float __fmul_rd( float a, float b );
extern float __fmul_rn( float a, float b );
extern float __fmul_ru( float a, float b );
extern float __fmul_rz( float a, float b );
extern float __frcp_rd( float a );
extern float __frcp_rn( float a );
extern float __frcp_ru( float a );
extern float __frcp_rz( float a );
extern float __fsqrt_rd( float a );
extern float __fsqrt_rn( float a );
extern float __fsqrt_ru( float a );
extern float __fsqrt_rz( float a );
extern float __half2float_rn( unsigned short a );
extern int __hiloint2double( int hi, int lo );
extern double __int2double_rd( int a );
extern double __int2double_rn( int a );
extern double __int2double_ru( int a );
extern double __int2double_rz( int a );
extern float __int2float_rd( int a );
extern float __int2float_rn( int a );
extern float __int2float_ru( int a );
extern float __int2float_rz( int a );
extern float __int_as_float( int a );
extern double __ll2double_rd( long a );
extern double __ll2double_rn( long a );
extern double __ll2double_ru( long a );
extern double __ll2double_rz( long a );
extern float __ll2float_rd( long a );
extern float __ll2float_rn( long a );
extern float __ll2float_ru( long a );
extern float __ll2float_rz( long a );
extern float __log10f( float a );
extern float __log2f( float a );
extern float __logf( float a );
extern double __longlong_as_double( long a );
extern int __mul24( int a, int b );
extern int __mulhi( int a, int b );
extern int __popc( unsigned int x );
extern int __popcll( unsigned long long x );
extern float __powf( float a, float b );
extern int __sad( int a, int b, int c );
extern float __saturatef( float a );
extern float __sinf( float a );
extern float __tanf( float a );
extern double __uint2double_rd( unsigned int a );
extern double __uint2double_rn( unsigned int a );
extern double __uint2double_ru( unsigned int a );
extern double __uint2double_rz( unsigned int a );
extern float __uint2float_rd( unsigned int a );
extern float __uint2float_rn( unsigned int a );
extern float __uint2float_ru( unsigned int a );
extern float __uint2float_rz( unsigned int a );
extern double __ull2double_rd( unsigned long a );
extern double __ull2double_rn( unsigned long a );
extern double __ull2double_ru( unsigned long a );
extern double __ull2double_rz( unsigned long a );
extern float __ull2float_rd( unsigned long a );
extern float __ull2float_rn( unsigned long a );
extern float __ull2float_ru( unsigned long a );
extern float __ull2float_rz( unsigned long a );
extern unsigned int __umul24( unsigned int a, unsigned int b );
extern unsigned int __umulhi( unsigned int a, unsigned int b );
extern unsigned int __usad( unsigned int a, unsigned int b, unsigned int c );
