<?xml version="1.0"?>
<def format="1">
  <!-- void abort(void); -->
  <function name="abort">
    <noreturn>true</noreturn>
  </function>
  <!-- int abs (int j); -->
  <function name="abs">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- double complex cproj(double complex x); -->
  <function name="cproj">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex cprojf(float complex x); -->
  <function name="cprojf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex cprojl(long double complex x); -->
  <function name="cprojl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double creal(double complex x); -->
  <function name="creal">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float crealf(float complex x); -->
  <function name="crealf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double creall(long double complex x); -->
  <function name="creall">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double acos(double x); -->
  <function name="acos">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float acosf(float x); -->
  <function name="acosf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double acosl(long double x); -->
  <function name="acosl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double acosh(double x); -->
  <function name="acosh">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float acoshf(float x); -->
  <function name="acoshf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double acoshl(long double x); -->
  <function name="acoshl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- char *asctime(const struct tm *tm) -->
  <function name="asctime">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <!-- void assert (int expression) -->
  <function name="assert">
    <leak-ignore/>
  </function>
  <!-- double sqrt(double x); -->
  <function name="sqrt">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float sqrtf(float x); -->
  <function name="sqrtf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double sqrtl(long double x); -->
  <function name="sqrtl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex csqrt(double complex x); -->
  <function name="csqrt">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex csqrtf(float complex x); -->
  <function name="csqrtf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex csqrtl(long double complex x); -->
  <function name="csqrtl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double sinh(double x); -->
  <function name="sinh">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float sinhf(float x); -->
  <function name="sinhf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double sinhl(long double x); -->
  <function name="sinhl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double sin(double x); -->
  <function name="sin">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float sinf(float f); -->
  <function name="sinf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double sinl(long double x); -->
  <function name="sinl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex csin(double complex x); -->
  <function name="csin">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex csinf(float complex f); -->
  <function name="csinf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex csinl(long double complex x); -->
  <function name="csinl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex csinh(double complex x); -->
  <function name="csinh">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex csinhf(float complex f); -->
  <function name="csinhf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex csinhl(long double complex x); -->
  <function name="csinhl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double asin(double x); -->
  <function name="asin">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex casin(double complex x); -->
  <function name="casin">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float asinf(float x); -->
  <function name="asinf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex casinf(float complex x); -->
  <function name="casinf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double asinl(long double x); -->
  <function name="asinl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex casinl(long double complex x); -->
  <function name="casinl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double asinh(double x); -->
  <function name="asinh">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex casinh(double complex x); -->
  <function name="casinh">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float asinhf(float x); -->
  <function name="asinhf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex casinhf(float complex x); -->
  <function name="casinhf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double asinhl(long double x); -->
  <function name="asinhl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex casinhl(long double complex x); -->
  <function name="casinhl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t wcsftime (wchar_t* ptr, size_t maxsize, const wchar_t* format, const struct tm* timeptr); -->
  <function name="wcsftime">
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- double tan(double x); -->
  <function name="tan">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float tanf(float x); -->
  <function name="tanf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double tanl(long double x); -->
  <function name="tanl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex ctan(double complex x); -->
  <function name="ctan">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex ctanf(float complex x); -->
  <function name="ctanf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex ctanl(long double complex x); -->
  <function name="ctanl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double tanh(double x); -->
  <function name="tanh">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float tanhf(float x); -->
  <function name="tanhf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double tanhl(long double x); -->
  <function name="tanhl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex ctanh(double complex x); -->
  <function name="ctanh">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex ctanhf(float complex x); -->
  <function name="ctanhf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex ctanhl(long double complex x); -->
  <function name="ctanhl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int feclearexcept (int excepts); -->
  <function name="feclearexcept">
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fegetenv (fenv_t* envp); -->
  <function name="fegetenv">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
  </function>
  <!-- int fegetexceptflag (fexcept_t* flagp, int excepts); -->
  <function name="fegetexceptflag">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fegetround (void); -->
  <function name="fegetround">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <use-retval/>
    <pure/>
  </function>
  <!-- int feholdexcept (fenv_t* envp); -->
  <function name="feholdexcept">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
  </function>
  <!-- int feraiseexcept (int excepts); -->
  <function name="feraiseexcept">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fesetenv (const fenv_t* envp); -->
  <function name="fesetenv">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int fesetexceptflag (const fexcept_t* flagp, int excepts); -->
  <function name="fesetexceptflag">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fesetround (int rdir); -->
  <function name="fesetround">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fetestexcept (int excepts); -->
  <function name="fetestexcept">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int feupdateenv (const fenv_t* envp); -->
  <function name="feupdateenv">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- double atan(double x); -->
  <function name="atan">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex catan(double complex x); -->
  <function name="catan">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float atanf(float x); -->
  <function name="atanf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex catanf(float complex x); -->
  <function name="catanf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double atanl(long double x); -->
  <function name="atanl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex catanl(long double complex x); -->
  <function name="catanl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double tgamma(double x); -->
  <function name="tgamma">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float tgammaf(float x); -->
  <function name="tgammaf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double tgammal(long double x); -->
  <function name="tgammal">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double trunc(double x); -->
  <function name="trunc">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float truncf(float x); -->
  <function name="truncf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double truncl(long double x); -->
  <function name="truncl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double atanh(double x); -->
  <function name="atanh">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex catanh(double complex x); -->
  <function name="catanh">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float atanhf(float x); -->
  <function name="atanhf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex catanhf(float complex x); -->
  <function name="catanhf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double atanhl(long double x); -->
  <function name="atanhl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex catanhl(long double complex x); -->
  <function name="catanhl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double atan2(double x, double y); -->
  <function name="atan2">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- float atan2f(float x, float y); -->
  <function name="atan2f">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double atan2l(long double x, long double y); -->
  <function name="atan2l">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- int atexit(void (*func)(void)); -->
  <function name="atexit">
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
  </function>
  <!-- double atof(const char *s); -->
  <function name="atof">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int atoi(const char *s); -->
  <function name="atoi">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- long int atol(const char *s); -->
  <function name="atol">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int atoll(const char *s); -->
  <function name="atoll">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- void * calloc (size_t nitems, size_t size); -->
  <function name="calloc">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- double ceil(double x); -->
  <function name="ceil">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float ceilf(float x); -->
  <function name="ceilf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double ceill(long double x); -->
  <function name="ceill">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double copysign(double x, double y); -->
  <function name="copysign">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- float copysignf(float x, float y); -->
  <function name="copysignf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double copysign(long double x, long double y); -->
  <function name="copysignl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- void cearerr(FILE * stream); -->
  <function name="clearerr">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- clock_t clock(void); -->
  <function name="clock">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <!-- double cbrt(double x); -->
  <function name="cbrt">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float cbrtf(float x); -->
  <function name="cbrtf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double cbrtl(long double x); -->
  <function name="cbrtl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double cos(double x); -->
  <function name="cos">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex ccos(double complex x); -->
  <function name="ccos">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float cosf(float x);  -->
  <function name="cosf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex ccosf(float complex x);  -->
  <function name="ccosf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double csol(long double x); -->
  <function name="cosl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex ccsol(long double complex x); -->
  <function name="ccosl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double cosh(double x); -->
  <function name="cosh">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex ccosh(double complex x); -->
  <function name="ccosh">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float coshf(float x); -->
  <function name="coshf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex ccoshf(float complex x); -->
  <function name="ccoshf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double coshl(long double x); -->
  <function name="coshl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double ccoshl(long double complex x); -->
  <function name="ccoshl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- char * ctime(const time_t *tp); -->
  <function name="ctime">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <!-- double difftime(time_t time2, time_t time1); -->
  <function name="difftime">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- div_t div(int num, int denom); -->
  <function name="div">
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- void exit(int status); -->
  <function name="exit">
    <noreturn>true</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double erf(double x); -->
  <function name="erf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float erff(float f); -->
  <function name="erff">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double erfl(long double x); -->
  <function name="erfl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double erfc(double x); -->
  <function name="erfc">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double carg(double complex z);-->
  <function name="carg">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float cargf(float complex z);-->
  <function name="cargf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double cargl(long double complex z);-->
  <function name="cargl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float erfcf(float x); -->
  <function name="erfcf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double erfcl(long double x); -->
  <function name="erfcl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double exp(double x); -->
  <function name="exp">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex cexp(double complex x); -->
  <function name="cexp">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float expf(float x); -->
  <function name="expf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex cexpf(float complex x); -->
  <function name="cexpf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double expl(long double x); -->
  <function name="expl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex cexpl(long double complex x); -->
  <function name="cexpl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex cimag(double complex x); -->
  <function name="cimagl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex cimagf(float complex x); -->
  <function name="cimagf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex cimagl(long double complex x); -->
  <function name="cimagl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double exp2(double x); -->
  <function name="exp2">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float exp2f(float x); -->
  <function name="exp2f">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double exp2l(long double x);-->
  <function name="exp2l">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double expm1(double x); -->
  <function name="expm1">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float expm1f(float x); -->
  <function name="expm1f">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double expm1l(long double x); -->
  <function name="expm1l">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double fabs(double x); -->
  <function name="fabs">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float fabsf(float x); -->
  <function name="fabsf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double fabsl(long double x); -->
  <function name="fabsl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double fdim(double x, double y); -->
  <function name="fdim">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- float fdimf(float x, float y); -->
  <function name="fdimf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double fdiml(long double x, long double y); -->
  <function name="fdiml">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fclose(FILE * stream); -->
  <function name="fclose">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int feof(FILE *stream); -->
  <function name="feof">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int ferror(FILE *stream);-->
  <function name="ferror">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int fflush(FILE *stream); -->
  <function name="fflush">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fgetc(FILE *stream); -->
  <function name="fgetc">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- wint_t fgetwc (FILE * stream); -->
  <function name="fgetwc">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int fgetpos(FILE* stream, fpos_t *ptr); -->
  <function name="fgetpos">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
  </function>
  <!-- double floor(double x); -->
  <function name="floor">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float floorf(float x); -->
  <function name="floorf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double floorl(long double x); -->
  <function name="floorl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double fma(double x, double y, double z); -->
  <function name="fma">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- float fmaf(float x, float y, float z); -->
  <function name="fmaf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double fmal(long double x, long double y, long double z); -->
  <function name="fmal">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- double fmax(double x, double y); -->
  <function name="fmax">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- float fmaxf(float x, float y); -->
  <function name="fmaxf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double fmaxl(long double x, long double y); -->
  <function name="fmaxl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- double fmin(double x, double y); -->
  <function name="fmin">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- float fminf(float x, float y); -->
  <function name="fminf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double fminl(long double x, long double y); -->
  <function name="fminl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- double fmod(double x, double y); -->
  <function name="fmod">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- float fmodf(float x, float y); -->
  <function name="fmodf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double fmodl(long double x, long double y); -->
  <function name="fmodl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- FILE * fopen(const char *filename, const char* mode); -->
  <function name="fopen">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int fprintf(FILE *stream, const char *format, ...); -->
  <function name="fprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <formatstr/>
    <arg nr="2">
      <formatstr/>
    </arg>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <!-- int vfprintf(FILE *stream, const char *format, va_list arg); -->
  <function name="vfprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <formatstr/>
    <arg nr="2">
      <formatstr/>
    </arg>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <!-- int vfwprintf(FILE *stream, const wchar_t *format, va_list arg); -->
  <function name="vfwprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <formatstr/>
    <arg nr="2">
      <formatstr/>
    </arg>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fputc(int c, FILE *stream); -->
  <function name="fputc">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- wint_t fputwc (wchar_t wc, FILE * stream); -->
  <function name="fputwc">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <not-bool/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int fputs(const char *string, FILE* stream); -->
  <function name="fputs">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int fputws (const wchar_t* ws, FILE* stream); -->
  <function name="fputws">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t fread(void *ptr, size_t size, size_t nobj, FILE *stream); -->
  <function name="fread">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <minsize type="mul" arg="2" arg2="3"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- void free(void *block); -->
  <function name="free">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- FILE *freopen(const char *filename, const char *mode, FILE *stream); -->
  <function name="freopen">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- double frexp(double x, int *exp); -->
  <function name="frexp">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
  </function>
  <!-- float frexpf(float x, int *exp); -->
  <function name="frexpf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
  </function>
  <!-- long double frexpl(long double x, int *exp); -->
  <function name="frexpl">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
  </function>
  <!-- double hypot(double x, double y);  -->
  <function name="hypot">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- float hypotf(float x, float y); -->
  <function name="hypotf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double hypotl(long double x, long double y); -->
  <function name="hypotl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fscanf(FILE *stream, const char *format, ...); -->
  <function name="fscanf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <formatstr scan="true"/>
    <arg nr="2">
      <formatstr/>
    </arg>
  </function>
  <!-- int vfscanf(FILE *stream, const char * format, va_list arg); -->
  <function name="vfscanf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <formatstr scan="true"/>
    <arg nr="2">
      <formatstr/>
    </arg>
    <arg nr="3"/>
  </function>
  <!-- int vfwscanf(FILE *stream, const wchar_t * format, va_list arg); -->
  <function name="vfwscanf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <formatstr scan="true"/>
    <arg nr="2">
      <formatstr/>
    </arg>
  </function>
  <!-- int fseek(FILE* stream, long int offset, int origin); -->
  <function name="fseek">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fsetpos(FILE *stream, const fpos_t *ptr); -->
  <function name="fsetpos">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- char * fgets(char *buffer, int n, FILE *stream); -->
  <function name="fgets">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- wchar_t* fgetws (wchar_t* ws, int num, FILE* stream); -->
  <function name="fgetws">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- long int ftell(FILE *stream); -->
  <function name="ftell">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int fwide (FILE* stream, int mode); -->
  <function name="fwide">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t fwrite(const void *ptr, size_t size, size_t nobj, FILE *stream); -->
  <function name="fwrite">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <minsize type="mul" arg="2" arg2="3"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int mblen(const char *string, size_t size); -->
  <function name="mblen">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <function name="mbtowc">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t mbrlen (const char* pmb, size_t max, mbstate_t* ps); -->
  <function name="mbrlen">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <not-null/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- wint_t btowc(int c); -->
  <function name="btowc">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int mbsinit (const mbstate_t* ps);  -->
  <function name="mbsinit">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- wint_t getwchar (void); -->
  <function name="getwchar">
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <!-- size_t mbstowcs(wchar_t *ws, const char *s, size_t n); -->
  <function name="mbstowcs">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t mbsrtowcs (wchar_t* dest, const char** src, size_t max, mbstate_t* ps); -->
  <function name="mbsrtowcs">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-null/>
    </arg>
  </function>
  <!-- int wctob(win_t c); -->
  <function name="wctob">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <pure/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int wctomb(char *s, wchar_t wchar); -->
  <function name="wctomb">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t wcstombs(char *mbstr, const wchar_t *wcstr, size_t n);-->
  <function name="wcstombs">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- int getc(FILE *stream); -->
  <function name="getc">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- wint_t getwc (FILE* stream); -->
  <function name="getwc">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int getchar(void); -->
  <function name="getchar">
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <!-- int ungetc(int c, FILE *stream); -->
  <function name="ungetc">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- win_t ungetwc(win_t c, FILE *stream); -->
  <function name="ungetwc">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- char * getenv(const char *name); -->
  <function name="getenv">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- char *gets(char *buffer); -->
  <function name="gets">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
  </function>
  <!-- struct tm * gmtime(const time_t *tp); -->
  <function name="gmtime">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int isalnum ( int c ); -->
  <function name="isalnum">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswalnum ( wint_t c ); -->
  <function name="iswalnum">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isalpha ( int c ); -->
  <function name="isalpha">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswalpha (wint_t c);-->
  <function name="iswalpha">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isblank ( int c ); -->
  <function name="isblank">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswblank (wint_t c); -->
  <function name="iswblank">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int iscntrl ( int c ); -->
  <function name="iscntrl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswcntrl (wint_t c); -->
  <function name="iswcntrl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int iswctype(wint_t c, wctype_t desc); -->
  <function name="iswctype">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isdigit ( int c ); -->
  <function name="isdigit">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswdigit (wint_t c); -->
  <function name="iswdigit">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isgraph ( int c ); -->
  <function name="isgraph">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswgraph (wint_t c); -->
  <function name="iswgraph">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int islower ( int c ); -->
  <function name="islower">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswlower (wint_t c); -->
  <function name="iswlower">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isprint ( int c ); -->
  <function name="isprint">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswprint (wint_t c); -->
  <function name="iswprint">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int ispunct ( int c ); -->
  <function name="ispunct">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswpunct (wint_t c); -->
  <function name="iswpunct">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isspace ( int c ); -->
  <function name="isspace">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswspace (wint_t c); -->
  <function name="iswspace">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isupper ( int c ); -->
  <function name="isupper">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswupper (wint_t c); -->
  <function name="iswupper">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isxdigit ( int c ); -->
  <function name="isxdigit">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int iswxdigit (wint_t c); -->
  <function name="iswxdigit">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- wint_t towctrans(wint_t c, wctrans_t desc); -->
  <function name="towctrans">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- wint_t towlower ( wint_t c ); -->
  <function name="towlower">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- wint_t towupper (wint_t c); -->
  <function name="towupper">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- wctrans_t wctrans (const char* property); -->
  <function name="wctrans">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- wctype_t wctype (const char* property); -->
  <function name="wctype">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex cabs( double complex z ); -->
  <function name="cabs">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex cabsf( float complex z ); -->
  <function name="cabsf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex cabsl( long double complex z ); -->
  <function name="cabs">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex cacos( double complex z ); -->
  <function name="cacos">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex cacosf( float complex z ); -->
  <function name="cacosf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex cacosl( long double complex z ); -->
  <function name="cacosl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex cacosh( double complex z ); -->
  <function name="cacos">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex cacoshf( float complex z ); -->
  <function name="cacoshf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex cacoshl( long double complex z ); -->
  <function name="cacoshl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long int labs(long int x); -->
  <function name="labs">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int llabs(long long int x);-->
  <function name="llabs">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double ldexp(double x, int exp); -->
  <function name="ldexp">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- float ldexpf(float x, int exp); -->
  <function name="ldexpf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double ldexpl(long double x, int exp); -->
  <function name="ldexpl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- double lgamma(double x); -->
  <function name="lgamma">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float lgammaf(float x); -->
  <function name="lgammaf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double lgammal(long double x); -->
  <function name="lgammal">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double rint(double x); -->
  <function name="rint">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float rintf(float x); -->
  <function name="rintf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double rintl(long double x); -->
  <function name="rintl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long int lrint(double x); -->
  <function name="lrint">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long int lrintf(float x); -->
  <function name="lrintf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long int lrintl(long double x); -->
  <function name="lrintl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int llrint(double x); -->
  <function name="llrint">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int llrintf(float x); -->
  <function name="llrintf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int llrintl(long double x); -->
  <function name="llrintl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int llround(double x); -->
  <function name="llround">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int llroundf(float x); -->
  <function name="llroundf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int llroundl(long double x); -->
  <function name="llroundl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long int lround(double x); -->
  <function name="lround">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long int lroundf(float x); -->
  <function name="lroundf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long int lroundl(long double x); -->
  <function name="lroundl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int rand(void); -->
  <function name="rand">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <!-- void srand(unsigned int seed); -->
  <function name="srand">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- ldiv_t ldiv(long int num, long int denom); -->
  <function name="ldiv">
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- lldiv_t lldiv(long long int num, long long int denom); -->
  <function name="lldiv">
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- struct tm * localtime(const time_t *tp); -->
  <function name="localtime">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <!-- double log(double x); -->
  <function name="log">
    <!--<use-retval/>-->
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex clog(double complex x); -->
  <function name="clog">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float logf(float x); -->
  <function name="logf">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex clogf(float complex x); -->
  <function name="clogf">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double logl(long double x);-->
  <function name="logl">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex clogl(long double complex x);-->
  <function name="clogl">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex conj(double complex x);-->
  <function name="conjl">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex conjf(float complex x);-->
  <function name="conjf">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex conjl(long double complex x);-->
  <function name="conjl">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int fpclassify (double x); -->
  <function name="fpclassify">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isfinite (double x);  -->
  <function name="isfinite">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isgreater(double x, double y); -->
  <function name="isgreater">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isgreaterequal(double x, double y); -->
  <function name="isgreaterequal">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isinf(double x); -->
  <function name="isinf">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!--   double logb  (double x); -->
  <function name="logb">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float logbf (float x); -->
  <function name="logbf">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double logbl (long double x); -->
  <function name="logbl">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isless(double x, double y);  -->
  <function name="isless">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- int islessequal(double x, double y);  -->
  <function name="islessequal">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- int islessgreater(double x, double y); -->
  <function name="islessgreater">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- double nan(const char *tagp); -->
  <function name="nan">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- float nanf(const char *tagp); -->
  <function name="nanf">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- long double nanl(const char *tagp); -->
  <function name="nanl">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int isnan(double x); -->
  <function name="isnan">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isnormal(double x); -->
  <function name="isnormal">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int isunordered(double x, double y);-->
  <function name="isunordered">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- int ilogb(double x); -->
  <function name="ilogb">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int ilogb(float x); -->
  <function name="ilogbf">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int ilogb(long double x); -->
  <function name="ilogbl">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double log10(double x); -->
  <function name="log10">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float log10f(float x);-->
  <function name="log10f">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double log10l(long double x); -->
  <function name="log10l">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double log1p(double x); -->
  <function name="log1p">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float log1pf(float x); -->
  <function name="log1pf">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double log1pl(long double x); -->
  <function name="log1pl">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double log2(double x); -->
  <function name="log2">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float log2f(float x); -->
  <function name="log2f">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double log2l(long double x); -->
  <function name="log2l">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double nearbyint(double x); -->
  <function name="nearbyint">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float nearbyintf(float x); -->
  <function name="nearbyintf">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double nearbyintl(long double x); -->
  <function name="nearbyintl">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double nextafter(double x, double y); -->
  <function name="nextafter">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- float nextafterf(float x, float y); -->
  <function name="nextafterf">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double nextafterl(long double x, long double y);-->
  <function name="nextafterl">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- double nexttoward(double x, long double y); -->
  <function name="nexttoward">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- float nexttowardf(float x, long double y); -->
  <function name="nexttowardf">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double nexttowardl(long double x, long double y); -->
  <function name="nexttowardl">
    <pure/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- void longjmp (jmp_buf env, int val); -->
  <function name="longjmp">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- void * malloc(size_t size); -->
  <function name="malloc">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <function name="alloca">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int memchr(const void *cs, int c, size_t n);-->
  <function name="memchr">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- wchar_t *wmemchr(const wchar_t *cs, wchar_t c, size_t n);-->
  <function name="wmemchr">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- int memcmp(const void *s1, const void *s2, size_t n);-->
  <function name="memcmp">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- void * memcpy(void *ct, const void *cs, size_t n);-->
  <function name="memcpy">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- wchar_t * wmemcpy(wchar_t *ct, const wchar_t *cs, size_t n);-->
  <function name="wmemcpy">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- void * memmove(void *ct, const void *cs, size_t n); -->
  <function name="memmove">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- wchar_t * wmemmove(wchar_t *ct, const wchar_t *cs, size_t n); -->
  <function name="wmemmove">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- void *memset(void *s, int c, size_t n); -->
  <function name="memset">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- wchar_t *wmemset(wchar_t *s, wchar_t c, size_t n); -->
  <function name="wmemset">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- time_t mktime(struct tm *tp); -->
  <function name="mktime">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- time_t mkxtime(struct tmx *tp); -->
  <function name="mkxtime">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- double modf(double x, double *ip); -->
  <function name="modf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
  </function>
  <!-- float modff(float x, float *ip); -->
  <function name="modff">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
  </function>
  <!-- long double modfl(long double x, long double *ip); -->
  <function name="modfl">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
  </function>
  <!-- void perror(const char *string); -->
  <function name="perror">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- double pow(double x, double y); -->
  <function name="pow">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- double complex cpow(double complex x, double complex y); -->
  <function name="cpow">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- float powf(float x, float y);-->
  <function name="powf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- float complex cpowf(float complex x, float complex y);-->
  <function name="cpowf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double powl(long double x, long double y); -->
  <function name="powl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double complex cpowl(long double complex x, long double complex y); -->
  <function name="cpowl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- double remainder(double x, double y); -->
  <function name="remainder">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- float remainderf(float x, float y); -->
  <function name="remainderf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double remainderl(long double x, long double y); -->
  <function name="remainderl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- double remquo(double, x, double y, int *quo); -->
  <function name="remquo">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
    </arg>
  </function>
  <!-- float remquof(float x, float y, int *quo); -->
  <function name="remquof">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
    </arg>
  </function>
  <!-- long double remquol(long double x, long double y, int *quo); -->
  <function name="remquol">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
    </arg>
  </function>
  <!-- int printf(const char *format, ...); -->
  <function name="printf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr/>
    <arg nr="1">
      <formatstr/>
    </arg>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <!-- int vprintf(const char *format, va_list arg); -->
  <function name="vprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr/>
    <arg nr="1">
      <formatstr/>
    </arg>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <!-- int vprintf(const wchar_t *format, va_list arg); -->
  <function name="vwprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr/>
    <arg nr="1">
      <formatstr/>
    </arg>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <!-- void* bsearch (const void* key, const void* base, size_t num, size_t size, int (*compar)(const void*,const void*));-->
  <function name="bsearch">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="5">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- void qsort(void *base, size_t n, size_t size, int (*cmp)(const void *, const void *)); -->
  <function name="qsort">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int putc(int c, FILE *stream); -->
  <function name="putc">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- wint_t putwc (wchar_t wc, FILE* stream); -->
  <function name="putwc">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int puthchar(int c); -->
  <function name="putchar">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- wint_t putwchar (wchar_t wc); -->
  <function name="putwchar">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int puts(const char *string); -->
  <function name="puts">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- void *realloc(void *block, size_t newsize); -->
  <function name="realloc">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- int remove(const char *filename); -->
  <function name="remove">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int rename(const char *oldname, const char *newname); -->
  <function name="rename">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- void rewind(FILE *stream); -->
  <function name="rewind">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- double round(double x);  -->
  <function name="round">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- float roundf(float x); -->
  <function name="roundf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double roundl(long double x); -->
  <function name="roundl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int scalbln(double x, long int n); -->
  <function name="scalbln">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int scalblnf(float x, long int n); -->
  <function name="scalblnf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int scalblnl(long double x, long int n); -->
  <function name="scalblnl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int scalbn(double x, int n); -->
  <function name="scalbn">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int scalbnf(float x, int n); -->
  <function name="scalbnf">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- long long int scalbnl(long double x, int n); -->
  <function name="scalbnl">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- int signbit(double x); -->
  <function name="signbit">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- void (*signal(int sig, void (*func)(int)))(int); -->
  <function name="signal">
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int raise (int sig); -->
  <function name="raise">
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int scanf(const char *format, ...); -->
  <function name="scanf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr scan="true"/>
    <arg nr="1">
      <not-null/>
      <formatstr/>
    </arg>
  </function>
  <!-- int vsscanf(const char *s, const char *format, va_list arg); -->
  <function name="vsscanf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr scan="true"/>
    <arg nr="2">
      <not-null/>
      <formatstr/>
    </arg>
    <arg nr="3"/>
  </function>
  <!-- int vswscanf(const wchar_t *s, const wchar_t *format, va_list arg); -->
  <function name="vswscanf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr scan="true"/>
    <arg nr="2">
      <not-null/>
      <formatstr/>
    </arg>
    <arg nr="3"/>
  </function>
  <!-- int vscanf(const char *format, va_list arg); -->
  <function name="vscanf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr scan="true"/>
    <arg nr="1">
      <not-null/>
      <formatstr/>
    </arg>
    <arg nr="2"/>
  </function>
  <!-- int vscanf(const wchar_t *format, va_list arg); -->
  <function name="vwscanf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr scan="true"/>
    <arg nr="1">
      <not-null/>
      <formatstr/>
    </arg>
    <arg nr="2"/>
  </function>
  <!-- void setbuf(FILE *stream, char *buf); -->
  <function name="setbuf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-bool/>
    </arg>
  </function>
  <!-- int setvbuf(FILE* stream, char *buf, int mode, size_t size); -->
  <function name="setvbuf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
  </function>
  <!-- int setjmp (jmp_buf env); -->
  <function name="setjmp">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <memory>
    <dealloc>free</dealloc>
    <alloc init="false">malloc</alloc>
    <alloc init="true">calloc</alloc>
  </memory>
  <resource>
    <dealloc>fclose</dealloc>
    <alloc init="true">fopen</alloc>
    <alloc init="true">tmpfile</alloc>
    <alloc init="true">freopen</alloc>
  </resource>
  <!-- char * strcat(char *deststr, const char *srcstr); -->
  <function name="strcat">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- wchar_t wcscat(wchar_t *deststr, const char *srcstr); -->
  <function name="wcscat">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t wcrtomb(char *s, wchar_t wc, mbstate_t *ps); -->
  <function name="wcrtomb">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
    </arg>
  </function>
  <!-- char * strchr(const char *cs, int c); -->
  <function name="strchr">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- wchar_t wcschr(const wchar_t *cs, wchar_t c); -->
  <function name="wcschr">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- int strcmp(const char *str1, const char *str2); -->
  <function name="strcmp">
    <use-retval/>
    <noreturn>false</noreturn>
    <pure/>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int wcscmp(const wchar_t *str1, const wchar_t c); -->
  <function name="wcscmp">
    <use-retval/>
    <noreturn>false</noreturn>
    <pure/>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- char *strcpy(char *desstr, const char *srcstr); -->
  <function name="strcpy">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <minsize type="strlen" arg="2"/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- wchar_t *wcscpy(wchar_t *deststr, const wchar_t *srcstr); -->
  <function name="wcscpy">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t strftime(char *s, size_t max, const char *fmt, const struct tm *p); -->
  <function name="strftime">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t strfxtime(char *s, size_t max, const char *fmt, const struct tmx *p); -->
  <function name="strfxtime">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t strlen(const char *string); -->
  <function name="strlen">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <pure/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t wcslen(const wchar_t *string); -->
  <function name="wcslen">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <pure/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- char *strncpy(char *s, const char *ct, size_t n); -->
  <function name="strncpy">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <minsize type="sizeof" arg="2"/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- char * strpbrk(const char *cs, const char *ct); -->
  <function name="strpbrk">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- char * strncat(char *ct, const char *s, size_t n); -->
  <function name="strncat">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- wchar_t *wcsncat(wchar_t *ct, const wchar_t *cs, size_t n); -->
  <function name="wcsncat">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- int strncmp(const char *s1, const char *s2, size_t n); -->
  <function name="strncmp">
    <use-retval/>
    <noreturn>false</noreturn>
    <pure/>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- int wcsncmp (const wchar_t* wcs1, const wchar_t* wcs2, size_t num); -->
  <function name="wcsncmp">
    <use-retval/>
    <noreturn>false</noreturn>
    <pure/>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- size_t strstr(const char *s1, const char *s2); -->
  <function name="strstr">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- wchar_t *wcsstr(const wchar_t *s1, const wchar_t *s2); -->
  <function name="wcsstr">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <pure/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t strspn(const char *cs, const char *ct); -->
  <function name="strspn">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t strxfrm(char *ds, const char *ss, size_t n); -->
  <function name="strxfrm">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t wcsxfrm(wchar_t *s1, const wchar_t *s2, size_t n); -->
  <function name="wcsxfrm">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t wcsspn(const wchar_t *s1, const wchar_t *s2); -->
  <function name="wcsspn">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <pure/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- struct lconv* localeconv (void); -->
  <function name="localeconv">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <!-- char* setlocale (int category, const char* locale); -->
  <function name="setlocale">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- char * strerror(int errornum); -->
  <function name="strerror">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t strcspn(const char *cs, const char *ct); -->
  <function name="strcspn">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <pure/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t wcscspn(const wchar_t *cs, const wchar_t *ct); -->
  <function name="wcscspn">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <pure/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- wchar_t * wcspbrk(const wchar_t *ct, wchar_t c); -->
  <function name="wcspbrk">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- wchar_t * wcsncpy(wchar_t *s, const wchar_t *cs, size_t n); -->
  <function name="wcsncpy">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- int strcoll(const char *cs, const char *c); -->
  <function name="strcoll">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int wcscoll(const wchar_t *s1, const wchar_t *s2); -->
  <function name="wcscoll">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- const char * strrchr ( const char * str, int character );
             char * strrchr (       char * str, int character ); -->
  <function name="strrchr">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- const char * strpbrk ( const char * str1, const char * str2 );
             char * strpbrk (       char * str1, const char * str2 ); -->
  <function name="strbprk">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <pure/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- const wchar_t* wcsrchr (const wchar_t* ws, wchar_t wc);
             wchar_t* wcsrchr (      wchar_t* ws, wchar_t wc); -->
  <function name="wcsrchr">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t wcsrtombs(char *dst, const wchar_t **src, size_t len, mbstate_t *ps); -->
  <function name="wcsrtombs">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-null/>
    </arg>
  </function>
  <!-- char *strtok(char *s, const char *ct); -->
  <function name="strtok">
    <!-- strtok may modify the first argument, so using the return value is not mandatory -->
    <noreturn>false</noreturn>
    <pure/>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- long strtol(const char *s, char **endp, int base); -->
  <function name="strtol">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- intmax_t strtoimax(const char *s, char **endp, int base); -->
  <function name="strtoimax">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <valid>0,2:36</valid>
      <not-uninit/>
    </arg>
  </function>
  <!-- uintmax_t strtoumax(const char *s, char **endp, int base); -->
  <function name="strtoumax">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <valid>0,2:36</valid>
      <not-uninit/>
    </arg>
  </function>
  <!-- float strtof(const char *s, char **endp); -->
  <function name="strtof">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2"/>
  </function>
  <!-- double strtod(const char *s, char **endp); -->
  <function name="strtod">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2"/>
  </function>
  <!-- long double strtod(const char *s, char **endp); -->
  <function name="strtold">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2"/>
  </function>
  <!-- unsigned long strtoul(const char *s, char **endp, int base); -->
  <function name="strtoul">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- long long strtoll(const char *s, char **endp, int base); -->
  <function name="strtoll">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- unsigned long long strtoull(const char *s, char **endp, int base); -->
  <function name="strtoull">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- time_t time(time_t *tp); -->
  <function name="time">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- char *tmpnam(char *s); -->
  <function name="tmpnam">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1"/>
  </function>
  <!-- FILE *tmpfile(void); -->
  <function name="tmpfile">
    <use-retval/>
    <noreturn>false</noreturn>
  </function>
  <!-- int tolower(int c); -->
  <function name="tolower">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <valid>0:255</valid>
    </arg>
  </function>
  <!-- int toupper(int c); -->
  <function name="toupper">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <valid>0:255</valid>
    </arg>
  </function>
  <function name="va_arg">
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <function name="va_copy">
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <function name="va_end">
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <function name="va_start">
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <!-- float wcstod(const wchar_t *s, wchar ** endp); -->
  <function name="wcstof">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2"/>
  </function>
  <!-- double wcstod(const wchar_t *s, wchar ** endp); -->
  <function name="wcstod">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2"/>
  </function>
  <!-- size_t mbrtowc (wchar_t* pwc, const char* pmb, size_t max, mbstate_t* ps); -->
  <function name="mbrtowc">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
  </function>
  <!-- long double wcstold(const wchar_t *s, wchar ** endp); -->
  <function name="wcstold">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2"/>
  </function>
  <!-- wchar_t* wcstok(wchar_t *s, const wchar *ct, wchar_t **ptr); -->
  <function name="wcstok">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <not-null/>
    </arg>
    <arg nr="3">
      <not-null/>
    </arg>
  </function>
  <!-- intmax_t wcstoimax(const wchar_t *s, wchar ** endp, int base); -->
  <function name="wcstoimax">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- uintmax_t wcstoumax(const wchar_t *s, wchar ** endp, int base); -->
  <function name="wcstoumax">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- long wcstol(const wchar_t *s, wchar ** endp, int base); -->
  <function name="wcstol">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- long long wcstoll(const wchar_t *s, wchar ** endp, int base); -->
  <function name="wcstoll">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- unsigned long wcstoul(const wchar_t *s, wchar ** endp, int base); -->
  <function name="wcstoul">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- unsigned long long wcstoull(const wchar_t *s, wchar ** endp, int base); -->
  <function name="wcstoull">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <valid>0,2:36</valid>
    </arg>
  </function>
  <!-- int wprintf(const wchar_t *format, ...); -->
  <function name="wprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr/>
    <arg nr="1">
      <not-null/>
      <formatstr/>
    </arg>
    <arg nr="any">
      <not-uninit/>
    </arg>
  </function>
  <!-- int sprintf(char *s, const char *format, ...); -->
  <function name="sprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr/>
    <arg nr="1">
      <minsize type="strlen" arg="2"/>
    </arg>
    <arg nr="2">
      <not-null/>
      <formatstr/>
    </arg>
  </function>
  <!-- int swprintf(wchar_t *s, size_t n, const wchar_t *format, ...); -->
  <function name="swprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
    </arg>
  </function>
  <!-- int vsprintf(char *s, const char *format, va_list arg); -->
  <function name="vsprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr/>
    <arg nr="2">
      <not-null/>
      <formatstr/>
    </arg>
    <arg nr="3"/>
  </function>
  <!-- int vswprintf(wchar_t *s, size_t n, const wchar_t *format, va_list arg); -->
  <function name="vswprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr/>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
      <formatstr/>
    </arg>
    <arg nr="4"/>
  </function>
  <!-- int fwprintf (FILE* stream, const wchar_t* format, ...); -->
  <function name="fwprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
      <formatstr/>
    </arg>
  </function>
  <!-- int snprintf(char *s, size_t n, const char *format, ...); -->
  <function name="snprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr/>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
      <formatstr/>
    </arg>
  </function>
  <!-- int vsnprintf(char *s, size_t n, const char *format, va_list arg); -->
  <function name="vsnprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr/>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
      <formatstr/>
    </arg>
    <arg nr="4"/>
  </function>
  <function name="fnprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr/>
    <arg nr="3">
      <formatstr/>
    </arg>
  </function>
  <!-- int wscanf(const wchar_t *format, ...); -->
  <function name="wscanf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr scan="true"/>
    <arg nr="1">
      <not-null/>
      <formatstr/>
    </arg>
  </function>
  <!-- int sscanf(const char *string, const char * format, ...);  -->
  <function name="sscanf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr scan="true"/>
    <arg nr="2">
      <formatstr/>
    </arg>
  </function>
  <!-- int fwscanf (FILE* stream, const wchar_t* format, ...); -->
  <function name="fwscanf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr scan="true"/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
      <formatstr/>
    </arg>
  </function>
  <!-- int swscanf(const wchar_t *string, const wchar_t *format, ...); -->
  <function name="swscanf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr scan="true"/>
    <arg nr="2">
      <formatstr/>
    </arg>
  </function>
  <!-- int system(const char *command); -->
  <function name="system">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- /*unspecified*/ setw( int n ); -->
  <function name="setw">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- /*unspecified*/ setiosflags (ios_base::fmtflags mask); -->
  <function name="setiosflags">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- /*unspecified*/ resetiosflags (ios_base::fmtflags mask); -->
  <function name="resetiosflags">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- /*unspecified*/ setfill (char_type c); -->
  <function name="setfill">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- /*unspecified*/ setprecision (int n); -->
  <function name="setprecision">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- /*unspecified*/ setbase (int base); -->
  <function name="setbase">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- struct tmx *zonetime(const time_t *tp, int zone);  -->
  <function name="zonetime">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <use-retval/>
    <arg nr="1">
      <not-uninit/>
      <not-null/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <container id="stdContainer" endPattern="&gt; !!::">
    <type templateParameter="0"/>
    <size>
      <function name="resize" action="resize"/>
      <function name="clear" action="clear"/>
      <function name="size" yields="size"/>
      <function name="empty" yields="empty"/>
    </size>
    <access>
      <function name="begin" yields="start-iterator"/>
      <function name="cbegin" yields="start-iterator"/>
      <function name="rbegin" yields="start-iterator"/>
      <function name="crbegin" yields="start-iterator"/>
      <function name="end" yields="end-iterator"/>
      <function name="cend" yields="end-iterator"/>
      <function name="rend" yields="end-iterator"/>
      <function name="crend" yields="end-iterator"/>
    </access>
  </container>
  <container id="stdVectorDeque" startPattern="std :: vector|deque &lt;" inherits="stdContainer">
    <size>
      <function name="push_back" action="push"/>
      <function name="pop_back" action="pop"/>
      <function name="push_front" action="push"/>
      <function name="pop_front" action="pop"/>
    </size>
    <access indexOperator="array-like">
      <function name="at" yields="at_index"/>
      <function name="front" yields="item"/>
      <function name="back" yields="item"/>
      <function name="data" yields="buffer"/>
    </access>
  </container>
  <container id="stdArray" startPattern="std :: array &lt;" inherits="stdContainer">
    <size templateParameter="1"/>
    <access indexOperator="array-like">
      <function name="at" yields="at_index"/>
      <function name="front" yields="item"/>
      <function name="back" yields="item"/>
      <function name="data" yields="buffer"/>
    </access>
  </container>
  <container id="stdSet" startPattern="std :: set &lt;" inherits="stdContainer">
    <access>
      <function name="find" action="find"/>
    </access>
  </container>
  <container id="stdMap" startPattern="std :: map &lt;" inherits="stdContainer">
    <type templateParameter="1"/>
    <access>
      <function name="at" yields="at_index"/>
      <function name="find" action="find"/>
    </access>
  </container>
  <container id="stdAllString" inherits="stdContainer">
    <type string="std-like"/>
    <size>
      <function name="push_back" action="push"/>
      <function name="pop_back" action="pop"/>
    </size>
    <access indexOperator="array-like">
      <function name="at" yields="at_index"/>
      <function name="front" yields="item"/>
      <function name="back" yields="item"/>
      <function name="data" yields="buffer"/>
      <function name="c_str" yields="buffer-nt"/>
      <function name="length" yields="size"/>
      <function name="find" action="find"/>
    </access>
  </container>
  <container id="stdBasicString" startPattern="std :: basic_string &lt;" inherits="stdAllString">
    <type templateParameter="0"/>
  </container>
  <container id="stdString" startPattern="std :: string|wstring|u16string|u32string" endPattern="" inherits="stdAllString">
  </container>
  <podtype name="int8_t" sign="s" size="1"/>
  <podtype name="int16_t" sign="s" size="2"/>
  <podtype name="int32_t" sign="s" size="4"/>
  <podtype name="int64_t" sign="s" size="8"/>
  <podtype name="uint8_t" sign="u" size="1"/>
  <podtype name="uint16_t" sign="u" size="2"/>
  <podtype name="uint32_t" sign="u" size="4"/>
  <podtype name="uint64_t" sign="u" size="8"/>
  <podtype name="int_fast8_t" sign="s"/>
  <podtype name="int_fast16_t" sign="s"/>
  <podtype name="int_fast32_t" sign="s"/>
  <podtype name="int_fast64_t" sign="s"/>
  <podtype name="int_least8_t" sign="s"/>
  <podtype name="int_least16_t" sign="s"/>
  <podtype name="int_least32_t" sign="s"/>
  <podtype name="int_least64_t" sign="s"/>
  <podtype name="uint_fast8_t" sign="u"/>
  <podtype name="uint_fast16_t" sign="u"/>
  <podtype name="uint_fast32_t" sign="u"/>
  <podtype name="uint_fast64_t" sign="u"/>
  <podtype name="uint_least8_t" sign="u"/>
  <podtype name="uint_least16_t" sign="u"/>
  <podtype name="uint_least32_t" sign="u"/>
  <podtype name="uint_least64_t" sign="u"/>
  <podtype name="intptr_t" sign="s"/>
  <podtype name="uintptr_t" sign="u"/>
  <podtype name="intmax_t" sign="s"/>
  <podtype name="uintmax_t" sign="u"/>
  <podtype name="size_t" sign="u"/>
  <podtype name="double_t"/>
  <podtype name="float_t"/>
  <podtype name="time_t"/>
  <podtype name="clock_t"/>
  <podtype name="tm"/>
  <podtype name="fenv_t"/>
  <podtype name="fexcept_t"/>
  <podtype name="lconv"/>
  <podtype name="sig_atomic_t"/>
  <podtype name="va_list"/>
  <podtype name="ptrdiff_t"/>
  <podtype name="max_align_t"/>
  <podtype name="nullptr_t"/>
  <podtype name="fpos_t"/>
  <podtype name="FILE"/>
  <podtype name="div_t"/>
  <podtype name="ldiv_t"/>
  <podtype name="lldiv_t"/>
  <podtype name="mbstate_t"/>
  <podtype name="wint_t"/>
  <!--Not part of standard, but widely supported by runtime libraries-->
  <function name="itoa">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
    <arg nr="3"/>
  </function>
</def>