
private import std.c.darwin.ldblcompat;

extern (C) {

real acosl( real ); pragma(GNU_asm,acosl,"acosl" ~ __LIBMLDBL_COMPAT);
real asinl( real ); pragma(GNU_asm,asinl,"asinl" ~ __LIBMLDBL_COMPAT);
real atanl( real ); pragma(GNU_asm,atanl,"atanl" ~ __LIBMLDBL_COMPAT);
real atan2l( real, real ); pragma(GNU_asm,atan2l,"atan2l" ~ __LIBMLDBL_COMPAT);
real cosl( real ); pragma(GNU_asm,cosl,"cosl" ~ __LIBMLDBL_COMPAT);
real sinl( real ); pragma(GNU_asm,sinl,"sinl" ~ __LIBMLDBL_COMPAT);
real tanl( real ); pragma(GNU_asm,tanl,"tanl" ~ __LIBMLDBL_COMPAT);
real acoshl( real ); pragma(GNU_asm,acoshl,"acoshl" ~ __LIBMLDBL_COMPAT);
real asinhl( real ); pragma(GNU_asm,asinhl,"asinhl" ~ __LIBMLDBL_COMPAT);
real atanhl( real ); pragma(GNU_asm,atanhl,"atanhl" ~ __LIBMLDBL_COMPAT);
real coshl( real ); pragma(GNU_asm,coshl,"coshl" ~ __LIBMLDBL_COMPAT);
real sinhl( real ); pragma(GNU_asm,sinhl,"sinhl" ~ __LIBMLDBL_COMPAT);
real tanhl( real ); pragma(GNU_asm,tanhl,"tanhl" ~ __LIBMLDBL_COMPAT);
real expl( real ); pragma(GNU_asm,expl,"expl" ~ __LIBMLDBL_COMPAT);
real exp2l( real ); pragma(GNU_asm,exp2l,"exp2l" ~ __LIBMLDBL_COMPAT);
real expm1l( real ); pragma(GNU_asm,expm1l,"expm1l" ~ __LIBMLDBL_COMPAT);
real logl( real ); pragma(GNU_asm,logl,"logl" ~ __LIBMLDBL_COMPAT);
real log10l( real ); pragma(GNU_asm,log10l,"log10l" ~ __LIBMLDBL_COMPAT);
real log2l( real ); pragma(GNU_asm,log2l,"log2l" ~ __LIBMLDBL_COMPAT);
real log1pl( real ); pragma(GNU_asm,log1pl,"log1pl" ~ __LIBMLDBL_COMPAT);
real logbl( real ); pragma(GNU_asm,logbl,"logbl" ~ __LIBMLDBL_COMPAT);
real modfl( real, real * ); pragma(GNU_asm,modfl,"modfl" ~ __LIBMLDBL_COMPAT);
real ldexpl( real, int ); pragma(GNU_asm,ldexpl,"ldexpl" ~ __LIBMLDBL_COMPAT);
real frexpl( real, int * ); pragma(GNU_asm,frexpl,"frexpl" ~ __LIBMLDBL_COMPAT);
int ilogbl( real ); pragma(GNU_asm,ilogbl,"ilogbl" ~ __LIBMLDBL_COMPAT);
real scalbnl( real, int ); pragma(GNU_asm,scalbnl,"scalbnl" ~ __LIBMLDBL_COMPAT);
real scalblnl( real, Clong_t ); pragma(GNU_asm,scalblnl,"scalblnl" ~ __LIBMLDBL_COMPAT);
real fabsl( real ); pragma(GNU_asm,fabsl,"fabsl" ~ __LIBMLDBL_COMPAT);
real cbrtl( real ); pragma(GNU_asm,cbrtl,"cbrtl" ~ __LIBMLDBL_COMPAT);
real hypotl( real, real ); pragma(GNU_asm,hypotl,"hypotl" ~ __LIBMLDBL_COMPAT);
real powl( real, real ); pragma(GNU_asm,powl,"powl" ~ __LIBMLDBL_COMPAT);
real sqrtl( real ); pragma(GNU_asm,sqrtl,"sqrtl" ~ __LIBMLDBL_COMPAT);
real erfl( real ); pragma(GNU_asm,erfl,"erfl" ~ __LIBMLDBL_COMPAT);
real erfcl( real ); pragma(GNU_asm,erfcl,"erfcl" ~ __LIBMLDBL_COMPAT);
real lgammal( real ); pragma(GNU_asm,lgammal,"lgammal" ~ __LIBMLDBL_COMPAT);
real tgammal( real ); pragma(GNU_asm,tgammal,"tgammal" ~ __LIBMLDBL_COMPAT);
real ceill( real ); pragma(GNU_asm,ceill,"ceill" ~ __LIBMLDBL_COMPAT);
real floorl( real ); pragma(GNU_asm,floorl,"floorl" ~ __LIBMLDBL_COMPAT);
real nearbyintl( real ); pragma(GNU_asm,nearbyintl,"nearbyintl" ~ __LIBMLDBL_COMPAT);
real rintl( real ); pragma(GNU_asm,rintl,"rintl" ~ __LIBMLDBL_COMPAT);
Clong_t lrintl( real ); pragma(GNU_asm,lrintl,"lrintl" ~ __LIBMLDBL_COMPAT);
long llrintl( real ); pragma(GNU_asm,llrintl,"llrintl" ~ __LIBMLDBL_COMPAT);
real roundl( real ); pragma(GNU_asm,roundl,"roundl" ~ __LIBMLDBL_COMPAT);
Clong_t lroundl( real ); pragma(GNU_asm,lroundl,"lroundl" ~ __LIBMLDBL_COMPAT);
long llroundl( real ); pragma(GNU_asm,llroundl,"llroundl" ~ __LIBMLDBL_COMPAT);
real truncl( real ); pragma(GNU_asm,truncl,"truncl" ~ __LIBMLDBL_COMPAT);
real fmodl( real, real); pragma(GNU_asm,fmodl,"fmodl" ~ __LIBMLDBL_COMPAT);
real remainderl( real, real ); pragma(GNU_asm,remainderl,"remainderl" ~ __LIBMLDBL_COMPAT);
real remquol( real, real, int * ); pragma(GNU_asm,remquol,"remquol" ~ __LIBMLDBL_COMPAT);
real copysignl( real, real ); pragma(GNU_asm,copysignl,"copysignl" ~ __LIBMLDBL_COMPAT);
real nanl( char * ); pragma(GNU_asm,nanl,"nanl" ~ __LIBMLDBL_COMPAT);
real nextafterl( real, real ); pragma(GNU_asm,nextafterl,"nextafterl" ~ __LIBMLDBL_COMPAT);
double nexttoward( double, real ); pragma(GNU_asm,nexttoward,"nexttoward" ~ __LIBMLDBL_COMPAT);
float nexttowardf( float, real ); pragma(GNU_asm,nexttowardf,"nexttowardf" ~ __LIBMLDBL_COMPAT);
real nexttowardl( real, real ); pragma(GNU_asm,nexttowardl,"nexttowardl" ~ __LIBMLDBL_COMPAT);
real fdiml( real, real ); pragma(GNU_asm,fdiml,"fdiml" ~ __LIBMLDBL_COMPAT);
real fmaxl( real, real ); pragma(GNU_asm,fmaxl,"fmaxl" ~ __LIBMLDBL_COMPAT);
real fminl( real, real ); pragma(GNU_asm,fminl,"fminl" ~ __LIBMLDBL_COMPAT);
real fmal( real, real, real ); pragma(GNU_asm,fmal,"fmal" ~ __LIBMLDBL_COMPAT);

/*

pragma(GNU_asm,"_acosl" ~ __LIBMLDBL_COMPAT) real acosl( real );
pragma(GNU_asm,"_asinl" ~ __LIBMLDBL_COMPAT) real asinl( real );
pragma(GNU_asm,"_atanl" ~ __LIBMLDBL_COMPAT) real atanl( real );
pragma(GNU_asm,"_atan2l" ~ __LIBMLDBL_COMPAT) real atan2l( real, real );
pragma(GNU_asm,"_cosl" ~ __LIBMLDBL_COMPAT) real cosl( real );
pragma(GNU_asm,"_sinl" ~ __LIBMLDBL_COMPAT) real sinl( real );
pragma(GNU_asm,"_tanl" ~ __LIBMLDBL_COMPAT) real tanl( real );
pragma(GNU_asm,"_acoshl" ~ __LIBMLDBL_COMPAT) real acoshl( real );
pragma(GNU_asm,"_asinhl" ~ __LIBMLDBL_COMPAT) real asinhl( real );
pragma(GNU_asm,"_atanhl" ~ __LIBMLDBL_COMPAT) real atanhl( real );
pragma(GNU_asm,"_coshl" ~ __LIBMLDBL_COMPAT) real coshl( real );
pragma(GNU_asm,"_sinhl" ~ __LIBMLDBL_COMPAT) real sinhl( real );
pragma(GNU_asm,"_tanhl" ~ __LIBMLDBL_COMPAT) real tanhl( real );
pragma(GNU_asm,"_expl" ~ __LIBMLDBL_COMPAT) real expl( real );
pragma(GNU_asm,"_exp2l" ~ __LIBMLDBL_COMPAT) real exp2l( real );
pragma(GNU_asm,"_expm1l" ~ __LIBMLDBL_COMPAT) real expm1l( real );
pragma(GNU_asm,"_logl" ~ __LIBMLDBL_COMPAT) real logl( real );
pragma(GNU_asm,"_log10l" ~ __LIBMLDBL_COMPAT) real log10l( real );
pragma(GNU_asm,"_log2l" ~ __LIBMLDBL_COMPAT) real log2l( real );
pragma(GNU_asm,"_log1pl" ~ __LIBMLDBL_COMPAT) real log1pl( real );
pragma(GNU_asm,"_logbl" ~ __LIBMLDBL_COMPAT) real logbl( real );
pragma(GNU_asm,"_modfl" ~ __LIBMLDBL_COMPAT) real modfl( real, real * );
pragma(GNU_asm,"_ldexpl" ~ __LIBMLDBL_COMPAT) real ldexpl( real, int );
pragma(GNU_asm,"_frexpl" ~ __LIBMLDBL_COMPAT) real frexpl( real, int * );
pragma(GNU_asm,"_ilogbl" ~ __LIBMLDBL_COMPAT)  int ilogbl( real );
pragma(GNU_asm,"_scalbnl" ~ __LIBMLDBL_COMPAT) real scalbnl( real, int );
pragma(GNU_asm,"_scalblnl" ~ __LIBMLDBL_COMPAT) real scalblnl( real, Clong_t );
pragma(GNU_asm,"_fabsl" ~ __LIBMLDBL_COMPAT) real fabsl( real );
pragma(GNU_asm,"_cbrtl" ~ __LIBMLDBL_COMPAT) real cbrtl( real );
pragma(GNU_asm,"_hypotl" ~ __LIBMLDBL_COMPAT) real hypotl( real, real );
pragma(GNU_asm,"_powl" ~ __LIBMLDBL_COMPAT) real powl( real, real );
pragma(GNU_asm,"_sqrtl" ~ __LIBMLDBL_COMPAT) real sqrtl( real );
pragma(GNU_asm,"_erfl" ~ __LIBMLDBL_COMPAT) real erfl( real );
pragma(GNU_asm,"_erfcl" ~ __LIBMLDBL_COMPAT) real erfcl( real );
pragma(GNU_asm,"_lgammal" ~ __LIBMLDBL_COMPAT) real lgammal( real );
pragma(GNU_asm,"_tgammal" ~ __LIBMLDBL_COMPAT) real tgammal( real );
pragma(GNU_asm,"_ceill" ~ __LIBMLDBL_COMPAT) real ceill( real );
pragma(GNU_asm,"_floorl" ~ __LIBMLDBL_COMPAT) real floorl( real );
pragma(GNU_asm,"_nearbyintl" ~ __LIBMLDBL_COMPAT) real nearbyintl( real );
pragma(GNU_asm,"_rintl" ~ __LIBMLDBL_COMPAT) real rintl( real );
pragma(GNU_asm,"_lrintl" ~ __LIBMLDBL_COMPAT)  Clong_t lrintl( real );
pragma(GNU_asm,"_llrintl" ~ __LIBMLDBL_COMPAT)  long llrintl( real );
pragma(GNU_asm,"_roundl" ~ __LIBMLDBL_COMPAT) real roundl( real );
pragma(GNU_asm,"_lroundl" ~ __LIBMLDBL_COMPAT)  Clong_t lroundl( real );
pragma(GNU_asm,"_llroundl" ~ __LIBMLDBL_COMPAT)  long llroundl( real );
pragma(GNU_asm,"_truncl" ~ __LIBMLDBL_COMPAT) real truncl( real );
pragma(GNU_asm,"_fmodl" ~ __LIBMLDBL_COMPAT) real fmodl( real, real);
pragma(GNU_asm,"_remainderl" ~ __LIBMLDBL_COMPAT) real remainderl( real, real );
pragma(GNU_asm,"_remquol" ~ __LIBMLDBL_COMPAT) real remquol( real, real, int * );
pragma(GNU_asm,"_copysignl" ~ __LIBMLDBL_COMPAT) real copysignl( real, real );
pragma(GNU_asm,"_nanl" ~ __LIBMLDBL_COMPAT) real nanl( const char * );
pragma(GNU_asm,"_nextafterl" ~ __LIBMLDBL_COMPAT) real nextafterl( real, real );
pragma(GNU_asm,"_nexttoward" ~ __LIBMLDBL_COMPAT)  double nexttoward( double, real );
pragma(GNU_asm,"_nexttowardf" ~ __LIBMLDBL_COMPAT)  float nexttowardf( float, real );
pragma(GNU_asm,"_nexttowardl" ~ __LIBMLDBL_COMPAT) real nexttowardl( real, real );
pragma(GNU_asm,"_fdiml" ~ __LIBMLDBL_COMPAT) real fdiml( real, real );
pragma(GNU_asm,"_fmaxl" ~ __LIBMLDBL_COMPAT) real fmaxl( real, real );
pragma(GNU_asm,"_fminl" ~ __LIBMLDBL_COMPAT) real fminl( real, real );
pragma(GNU_asm,"_fmal" ~ __LIBMLDBL_COMPAT) real fmal( real, real, real );
*/

alias __builtin_sqrt sqrt;
}
