#`#include `; acos :: proc(x: double): double; @foreign acosf :: proc(x: float): float; @foreign asin :: proc(x: double): double; @foreign asinf :: proc(x: float): float; @foreign atan :: proc(x: double): double; @foreign atanf :: proc(x: float): float; @foreign atan2 :: proc(y: double, x: double): double; @foreign atan2f :: proc(y: float, x: float): float; @foreign cos :: proc(x: double): double; @foreign cosf :: proc(x: float): float; @foreign sin :: proc(x: double): double; @foreign sinf :: proc(x: float): float; @foreign tan :: proc(x: double): double; @foreign tanf :: proc(x: float): float; @foreign acosh :: proc(x: double): double; @foreign acoshf :: proc(x: float): float; @foreign asinh :: proc(x: double): double; @foreign asinhf :: proc(x: float): float; @foreign atanh :: proc(x: double): double; @foreign atanhf :: proc(x: float): float; @foreign cosh :: proc(x: double): double; @foreign coshf :: proc(x: float): float; @foreign sinh :: proc(x: double): double; @foreign sinhf :: proc(x: float): float; @foreign tanh :: proc(x: double): double; @foreign tanhf :: proc(x: float): float; @foreign exp :: proc(x: double): double; @foreign expf :: proc(x: float): float; @foreign exp2 :: proc(x: double): double; @foreign exp2f :: proc(x: float): float; @foreign expm1 :: proc(x: double): double; @foreign expm1f :: proc(x: float): float; @foreign frexp :: proc(value: double, exp: *int): double; @foreign frexpf :: proc(value: float, exp: *int): float; @foreign ilogb :: proc(x: double): int; @foreign ilogbf :: proc(x: float): int; @foreign ldexp :: proc(x: double, exp: int): double; @foreign ldexpf :: proc(x: float, exp: int): float; @foreign log :: proc(x: double): double; @foreign logf :: proc(x: float): float; @foreign log10 :: proc(x: double): double; @foreign log10f :: proc(x: float): float; @foreign log1p :: proc(x: double): double; @foreign log1pf :: proc(x: float): float; @foreign log2 :: proc(x: double): double; @foreign log2f :: proc(x: float): float; @foreign logb :: proc(x: double): double; @foreign logbf :: proc(x: float): float; @foreign modf :: proc(value: double, iptr: *double): double; @foreign modff :: proc(value: float, iptr: *float): float; @foreign scalbn :: proc(x: double, n: int): double; @foreign scalbnf :: proc(x: float, n: int): float; @foreign scalbln :: proc(x: double, n: long): double; @foreign scalblnf :: proc(x: float, n: long): float; @foreign cbrt :: proc(x: double): double; @foreign cbrtf :: proc(x: float): float; @foreign fabs :: proc(x: double): double; @foreign fabsf :: proc(x: float): float; @foreign hypot :: proc(x: double, y: double): double; @foreign hypotf :: proc(x: float, y: float): float; @foreign pow :: proc(x: double, y: double): double; @foreign powf :: proc(x: float, y: float): float; @foreign sqrt :: proc(x: double): double; @foreign sqrtf :: proc(x: float): float; @foreign erf :: proc(x: double): double; @foreign erff :: proc(x: float): float; @foreign erfc :: proc(x: double): double; @foreign erfcf :: proc(x: float): float; @foreign lgamma :: proc(x: double): double; @foreign lgammaf :: proc(x: float): float; @foreign tgamma :: proc(x: double): double; @foreign tgammaf :: proc(x: float): float; @foreign ceil :: proc(x: double): double; @foreign ceilf :: proc(x: float): float; @foreign floor :: proc(x: double): double; @foreign floorf :: proc(x: float): float; @foreign nearbyint :: proc(x: double): double; @foreign nearbyintf :: proc(x: float): float; @foreign rint :: proc(x: double): double; @foreign rintf :: proc(x: float): float; @foreign lrint :: proc(x: double): long; @foreign lrintf :: proc(x: float): long; @foreign llrint :: proc(x: double): llong; @foreign llrintf :: proc(x: float): llong; @foreign round :: proc(x: double): double; @foreign roundf :: proc(x: float): float; @foreign lround :: proc(x: double): long; @foreign lroundf :: proc(x: float): long; @foreign llround :: proc(x: double): llong; @foreign llroundf :: proc(x: float): llong; @foreign trunc :: proc(x: double): double; @foreign truncf :: proc(x: float): float; @foreign fmod :: proc(x: double, y: double): double; @foreign fmodf :: proc(x: float, y: float): float; @foreign remainder :: proc(x: double, y: double): double; @foreign remainderf :: proc(x: float, y: float): float; @foreign remquo :: proc(x: double, y: double, quo: *int): double; @foreign remquof :: proc(x: float, y: float, quo: *int): float; @foreign copysign :: proc(x: double, y: double): double; @foreign copysignf :: proc(x: float, y: float): float; @foreign nan :: proc(tagp: *char): double; @foreign nanf :: proc(tagp: *char): float; @foreign nextafter :: proc(x: double, y: double): double; @foreign nextafterf :: proc(x: float, y: float): float; @foreign fdim :: proc(x: double, y: double): double; @foreign fdimf :: proc(x: float, y: float): float; @foreign fmax :: proc(x: double, y: double): double; @foreign fmaxf :: proc(x: float, y: float): float; @foreign fmin :: proc(x: double, y: double): double; @foreign fminf :: proc(x: float, y: float): float; @foreign fma :: proc(x: double, y: double, z: double): double; @foreign fmaf :: proc(x: float, y: float, z: float): float; @foreign