[libc-commits] [libc] [libc][newhdrgen]sorted function names in yaml (PR #102544)

via libc-commits libc-commits at lists.llvm.org
Thu Aug 8 16:13:02 PDT 2024


https://github.com/aaryanshukla updated https://github.com/llvm/llvm-project/pull/102544

>From d393ef35bb35e5ab82d863097f571493597326a2 Mon Sep 17 00:00:00 2001
From: Aaryan Shukla <aaryanshukla at google.com>
Date: Thu, 8 Aug 2024 21:57:36 +0000
Subject: [PATCH 1/2] [libc][newhdrgen]sorted function names in yaml

---
 libc/newhdrgen/yaml/ctype.yaml       |   24 +-
 libc/newhdrgen/yaml/fcntl.yaml       |    6 +-
 libc/newhdrgen/yaml/fenv.yaml        |   60 +-
 libc/newhdrgen/yaml/gpu/rpc.yaml     |   14 +-
 libc/newhdrgen/yaml/math.yaml        | 2396 +++++++++++++-------------
 libc/newhdrgen/yaml/pthread.yaml     |  178 +-
 libc/newhdrgen/yaml/sched.yaml       |   14 +-
 libc/newhdrgen/yaml/search.yaml      |   20 +-
 libc/newhdrgen/yaml/signal.yaml      |   40 +-
 libc/newhdrgen/yaml/stdbit.yaml      |  230 +--
 libc/newhdrgen/yaml/stdfix.yaml      |   68 +-
 libc/newhdrgen/yaml/stdio.yaml       |  292 ++--
 libc/newhdrgen/yaml/stdlib.yaml      |  154 +-
 libc/newhdrgen/yaml/string.yaml      |  252 +--
 libc/newhdrgen/yaml/strings.yaml     |   40 +-
 libc/newhdrgen/yaml/sys/epoll.yaml   |   12 +-
 libc/newhdrgen/yaml/sys/mman.yaml    |   54 +-
 libc/newhdrgen/yaml/sys/socket.yaml  |   12 +-
 libc/newhdrgen/yaml/sys/statvfs.yaml |   12 +-
 libc/newhdrgen/yaml/termios.yaml     |   20 +-
 libc/newhdrgen/yaml/threads.yaml     |   32 +-
 libc/newhdrgen/yaml/time.yaml        |   12 +-
 libc/newhdrgen/yaml/unistd.yaml      |  106 +-
 23 files changed, 2024 insertions(+), 2024 deletions(-)

diff --git a/libc/newhdrgen/yaml/ctype.yaml b/libc/newhdrgen/yaml/ctype.yaml
index e5b4d11422d98d..f3108a34d43377 100644
--- a/libc/newhdrgen/yaml/ctype.yaml
+++ b/libc/newhdrgen/yaml/ctype.yaml
@@ -16,6 +16,12 @@ functions:
     return_type: int
     arguments:
       - type: int
+  - name: isascii
+    standards:
+      - POSIX
+    return_type: int
+    arguments:
+      - type: int
   - name: isblank
     standards:
       - stdc
@@ -76,28 +82,22 @@ functions:
     return_type: int
     arguments:
       - type: int
-  - name: tolower
+  - name: toascii
     standards:
-      - stdc
+      - GNUExtensions
     return_type: int
     arguments:
       - type: int
-  - name: toupper
+  - name: tolower
     standards:
       - stdc
     return_type: int
     arguments:
       - type: int
-    functions:
-  - name: isascii
-    standards:
-      - POSIX
-    return_type: int
-    arguments:
-      - type: int
-  - name: toascii
+  - name: toupper
     standards:
-      - GNUExtensions
+      - stdc
     return_type: int
     arguments:
       - type: int
+    functions: null
diff --git a/libc/newhdrgen/yaml/fcntl.yaml b/libc/newhdrgen/yaml/fcntl.yaml
index a7bd1997b0eac8..71c0df3b0fadaa 100644
--- a/libc/newhdrgen/yaml/fcntl.yaml
+++ b/libc/newhdrgen/yaml/fcntl.yaml
@@ -20,7 +20,7 @@ functions:
     arguments:
       - type: int
       - type: int
-      - type: ...
+      - type: '...'
   - name: open
     standards:
       - POSIX
@@ -28,7 +28,7 @@ functions:
     arguments:
       - type: const char *
       - type: int
-      - type: ...
+      - type: '...'
   - name: openat
     standards:
       - POSIX
@@ -37,4 +37,4 @@ functions:
       - type: int
       - type: const char *
       - type: int
-      - type: ...
+      - type: '...'
diff --git a/libc/newhdrgen/yaml/fenv.yaml b/libc/newhdrgen/yaml/fenv.yaml
index 95eb93c883e3c8..1010efc6402c1b 100644
--- a/libc/newhdrgen/yaml/fenv.yaml
+++ b/libc/newhdrgen/yaml/fenv.yaml
@@ -12,55 +12,61 @@ functions:
     return_type: int
     arguments:
       - type: int
-  - name: fetestexcept
+  - name: fedisableexcept
     standards:
-      - stdc
+      - GNUExtensions
     return_type: int
     arguments:
       - type: int
-  - name: fetestexceptflag
+    guard: null
+  - name: feenableexcept
     standards:
-      - stdc
+      - GNUExtensions
     return_type: int
     arguments:
-      - type: const fexcept_t *
       - type: int
-  - name: feraiseexcept
+    attributes: []
+  - name: fegetenv
     standards:
       - stdc
     return_type: int
     arguments:
-      - type: int
-  - name: fesetround
+      - type: fenv_t *
+  - name: fegetexcept
+    standards:
+      - GNUExtensions
+    return_type: int
+    arguments: []
+  - name: fegetexceptflag
     standards:
       - stdc
     return_type: int
     arguments:
+      - type: fexcept_t *
       - type: int
   - name: fegetround
     standards:
       - stdc
     return_type: int
     arguments: []
-  - name: fegetenv
+  - name: feholdexcept
     standards:
       - stdc
     return_type: int
     arguments:
       - type: fenv_t *
-  - name: fesetenv
+  - name: feraiseexcept
     standards:
       - stdc
     return_type: int
     arguments:
-      - type: const fenv_t *
-  - name: fegetexceptflag
+      - type: int
+  - name: fesetenv
     standards:
       - stdc
     return_type: int
     arguments:
-      - type: fexcept_t *
-      - type: int
+      - type: const fenv_t *
   - name: fesetexcept
     standards:
       - stdc
@@ -74,34 +80,28 @@ functions:
     arguments:
       - type: const fexcept_t *
       - type: int
-  - name: feholdexcept
+  - name: fesetround
     standards:
       - stdc
     return_type: int
     arguments:
-      - type: fenv_t *
-  - name: feupdateenv
+      - type: int
+  - name: fetestexcept
     standards:
       - stdc
     return_type: int
-    arguments:
-      - type: const fenv_t *
-  - name: fedisableexcept
-    standards:
-      - GNUExtensions
-    return_type: int
     arguments:
       - type: int
-    guard: null
-  - name: feenableexcept
+  - name: fetestexceptflag
     standards:
-      - GNUExtensions
+      - stdc
     return_type: int
     arguments:
+      - type: const fexcept_t *
       - type: int
-    attributes: []
-  - name: fegetexcept
+  - name: feupdateenv
     standards:
-      - GNUExtensions
+      - stdc
     return_type: int
-    arguments: []
+    arguments:
+      - type: const fenv_t *
diff --git a/libc/newhdrgen/yaml/gpu/rpc.yaml b/libc/newhdrgen/yaml/gpu/rpc.yaml
index 57473f72c38271..61856bc0c7d692 100644
--- a/libc/newhdrgen/yaml/gpu/rpc.yaml
+++ b/libc/newhdrgen/yaml/gpu/rpc.yaml
@@ -4,20 +4,20 @@ types: []
 enums: []
 objects: []
 functions:
-  - name: rpc_host_call
+  - name: rpc_fprintf
     standards:
       - GPUExtensions
-    return_type: void
+    return_type: int
     arguments:
-      - type: void *
+      - type: ::FILE *__restrict
+      - type: const char *__restrict
       - type: void *
       - type: size_t
-  - name: rpc_fprintf
+  - name: rpc_host_call
     standards:
       - GPUExtensions
-    return_type: int
+    return_type: void
     arguments:
-      - type: ::FILE *__restrict
-      - type: const char *__restrict
+      - type: void *
       - type: void *
       - type: size_t
diff --git a/libc/newhdrgen/yaml/math.yaml b/libc/newhdrgen/yaml/math.yaml
index 2f1203e581f9a7..aaeb492d0ca556 100644
--- a/libc/newhdrgen/yaml/math.yaml
+++ b/libc/newhdrgen/yaml/math.yaml
@@ -7,794 +7,873 @@ types:
 enums: []
 objects: []
 functions:
-  - name: cbrt
+  - name: acosf
     standards:
       - stdc
-    return_type: double
+    return_type: float
     arguments:
-      - type: double
-  - name: cbrtf
+      - type: float
+  - name: acoshf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-  - name: copysign
+  - name: asin
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-      - type: double
-  - name: copysignf
+  - name: asinf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-      - type: float
-  - name: copysignl
+  - name: asinhf
     standards:
       - stdc
-    return_type: long double
+    return_type: float
     arguments:
-      - type: long double
-      - type: long double
-  - name: ceil
+      - type: float
+  - name: atan2f
     standards:
       - stdc
-    return_type: double
+    return_type: float
     arguments:
-      - type: double
-  - name: ceilf
+      - type: float
+      - type: float
+  - name: atanf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-  - name: ceill
+  - name: atanhf
     standards:
       - stdc
-    return_type: long double
+    return_type: float
     arguments:
-      - type: long double
-  - name: fabs
+      - type: float
+  - name: canonicalize
     standards:
       - stdc
-    return_type: double
+    return_type: int
     arguments:
       - type: double
-  - name: fabsf
+      - type: double
+  - name: canonicalizef
     standards:
       - stdc
-    return_type: float
+    return_type: int
     arguments:
       - type: float
-  - name: fabsl
-    standards:
-      - stdc
-    return_type: long double
-    arguments:
-      - type: long double
-  - name: fdim
+      - type: float
+  - name: canonicalizef128
     standards:
       - stdc
-    return_type: double
+    return_type: int
     arguments:
-      - type: double
-      - type: double
-  - name: fdimf
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: canonicalizef16
     standards:
       - stdc
-    return_type: float
+    return_type: int
     arguments:
-      - type: float
-      - type: float
-  - name: fdiml
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: canonicalizel
     standards:
       - stdc
-    return_type: long double
+    return_type: int
     arguments:
       - type: long double
       - type: long double
-  - name: floor
+  - name: cbrt
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-  - name: floorf
+  - name: cbrtf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-  - name: floorl
-    standards:
-      - stdc
-    return_type: long double
-    arguments:
-      - type: long double
-  - name: fmin
+  - name: ceil
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-      - type: double
-  - name: fminf
+  - name: ceilf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-      - type: float
-  - name: fminl
-    standards:
-      - stdc
-    return_type: long double
-    arguments:
-      - type: long double
-      - type: long double
-  - name: fmax
+  - name: ceilf128
     standards:
       - stdc
-    return_type: double
+    return_type: float128
     arguments:
-      - type: double
-      - type: double
-  - name: fmaxf
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: ceilf16
     standards:
       - stdc
-    return_type: float
+    return_type: _Float16
     arguments:
-      - type: float
-      - type: float
-  - name: fmaxl
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: ceill
     standards:
       - stdc
     return_type: long double
     arguments:
       - type: long double
-      - type: long double
-  - name: fmaximum
+  - name: copysign
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
       - type: double
-  - name: fmaximumf
+  - name: copysignf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
       - type: float
-  - name: fmaximuml
-    standards:
-      - stdc
-    return_type: long double
-    arguments:
-      - type: long double
-      - type: long double
-  - name: fmaximum_num
+  - name: copysignf128
     standards:
       - stdc
-    return_type: double
+    return_type: float128
     arguments:
-      - type: double
-      - type: double
-  - name: fmaximum_numf
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: copysignf16
     standards:
       - stdc
-    return_type: float
+    return_type: _Float16
     arguments:
-      - type: float
-      - type: float
-  - name: fmaximum_numl
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: copysignl
     standards:
       - stdc
     return_type: long double
     arguments:
       - type: long double
       - type: long double
-  - name: fmaximum_mag
+  - name: cos
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-      - type: double
-  - name: fmaximum_magf
+  - name: cosf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-      - type: float
-  - name: fmaximum_magl
-    standards:
-      - stdc
-    return_type: long double
-    arguments:
-      - type: long double
-      - type: long double
-  - name: fmaximum_mag_num
-    standards:
-      - stdc
-    return_type: double
-    arguments:
-      - type: double
-      - type: double
-  - name: fmaximum_mag_numf
+  - name: coshf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-      - type: float
-  - name: fmaximum_mag_numl
+  - name: ddivl
     standards:
       - stdc
     return_type: long double
     arguments:
       - type: long double
       - type: long double
-  - name: fminimum
+  - name: dmulf128
+    standards:
+      - llvm_libc_ext
+    return_type: double
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: dmull
     standards:
       - stdc
     return_type: double
     arguments:
-      - type: double
-      - type: double
-  - name: fminimumf
+      - type: long double
+      - type: long double
+  - name: erff
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-      - type: float
-  - name: fminimuml
+  - name: exp
     standards:
       - stdc
-    return_type: long double
+    return_type: double
     arguments:
-      - type: long double
-      - type: long double
-  - name: fminimum_num
+      - type: double
+  - name: exp10
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-      - type: double
-  - name: fminimum_numf
+  - name: exp10f
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-      - type: float
-  - name: fminimum_mag
+  - name: exp2
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-      - type: double
-  - name: fminimum_magf
+  - name: exp2f
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-      - type: float
-  - name: fminimum_magl
-    standards:
-      - stdc
-    return_type: long double
-    arguments:
-      - type: long double
-      - type: long double
-  - name: fminimum_mag_num
-    standards:
-      - stdc
-    return_type: double
-    arguments:
-      - type: double
-      - type: double
-  - name: fminimum_mag_numf
+  - name: exp2m1f
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-      - type: float
-  - name: fminimum_mag_numl
+  - name: expf
     standards:
       - stdc
-    return_type: long double
+    return_type: float
     arguments:
-      - type: long double
-      - type: long double
-  - name: fma
+      - type: float
+  - name: expm1
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-      - type: double
-      - type: double
-  - name: fmaf
+  - name: expm1f
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-      - type: float
-      - type: float
-  - name: fmod
+  - name: f16add
     standards:
-      - stdc
-    return_type: double
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
       - type: double
       - type: double
-  - name: fmodf
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: f16addf
     standards:
-      - stdc
-    return_type: float
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
       - type: float
       - type: float
-  - name: fmodl
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: f16addf128
     standards:
       - stdc
-    return_type: long double
+    return_type: _Float16
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128
+  - name: f16addl
+    standards:
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
       - type: long double
       - type: long double
-  - name: fmul
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: f16div
     standards:
-      - stdc
-    return_type: float
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
       - type: double
       - type: double
-  - name: fmull
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: f16divf
     standards:
-      - stdc
-    return_type: float
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
-      - type: long double
-      - type: long double
-  - name: dmull
+      - type: float
+      - type: float
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: f16divf128
     standards:
       - stdc
-    return_type: double
+    return_type: _Float16
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128
+  - name: f16divl
+    standards:
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
       - type: long double
       - type: long double
-  - name: frexp
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: f16fma
     standards:
-      - stdc
-    return_type: double
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
       - type: double
-      - type: int *
-  - name: frexpf
+      - type: double
+      - type: double
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: f16fmaf
     standards:
-      - stdc
-    return_type: float
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
       - type: float
-      - type: int *
-  - name: frexpl
+      - type: float
+      - type: float
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: f16fmaf128
     standards:
       - stdc
-    return_type: long double
+    return_type: _Float16
+    arguments:
+      - type: float128
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128
+  - name: f16fmal
+    standards:
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
       - type: long double
-      - type: int *
-  - name: fromfp
+      - type: long double
+      - type: long double
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: f16mul
     standards:
-      - stdc
-    return_type: double
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
       - type: double
-      - type: int
-      - type: unsigned int
-  - name: fromfpf
+      - type: double
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: f16mulf
     standards:
-      - stdc
-    return_type: float
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
       - type: float
-      - type: int
-      - type: unsigned int
-  - name: fromfpl
+      - type: float
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: f16mulf128
     standards:
       - stdc
-    return_type: long double
+    return_type: _Float16
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128
+  - name: f16mull
+    standards:
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
       - type: long double
-      - type: int
-      - type: unsigned int
-  - name: fromfpx
+      - type: long double
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: f16sqrt
     standards:
-      - stdc
-    return_type: double
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
       - type: double
-      - type: int
-      - type: unsigned int
-  - name: fromfpxf
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: f16sqrtf
     standards:
-      - stdc
-    return_type: float
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
       - type: float
-      - type: int
-      - type: unsigned int
-  - name: fromfpxl
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: f16sqrtf128
     standards:
-      - stdc
-    return_type: long double
+      - llvm_libc_ext
+    return_type: _Float16
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128
+  - name: f16sqrtl
+    standards:
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
       - type: long double
-      - type: int
-      - type: unsigned int
-  - name: ufromfp
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: f16sub
     standards:
-      - stdc
-    return_type: double
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
       - type: double
-      - type: int
-      - type: unsigned int
-  - name: ufromfpf
+      - type: double
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: f16subf
     standards:
-      - stdc
-    return_type: float
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
       - type: float
-      - type: int
-      - type: unsigned int
-  - name: ufromfpl
+      - type: float
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: f16subf128
     standards:
       - stdc
-    return_type: long double
+    return_type: _Float16
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128
+  - name: f16subl
+    standards:
+      - llvm_libc_ext
+    return_type: _Float16
     arguments:
       - type: long double
-      - type: int
-      - type: unsigned int
-  - name: ufromfpx
+      - type: long double
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: fabs
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-      - type: int
-      - type: unsigned int
-  - name: ufromfpxf
+  - name: fabsf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-      - type: int
-      - type: unsigned int
-  - name: ufromfpxl
+  - name: fabsf128
+    standards:
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fabsf16
+    standards:
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: fabsl
     standards:
       - stdc
     return_type: long double
     arguments:
       - type: long double
-      - type: int
-      - type: unsigned int
-  - name: hypot
+  - name: fdim
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
       - type: double
-  - name: hypotf
+  - name: fdimf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
       - type: float
-  - name: ilogb
+  - name: fdimf128
     standards:
       - stdc
-    return_type: int
+    return_type: float128
     arguments:
-      - type: double
-  - name: ilogbf
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fdimf16
     standards:
       - stdc
-    return_type: int
+    return_type: _Float16
     arguments:
-      - type: float
-  - name: ilogbl
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: fdiml
     standards:
       - stdc
-    return_type: int
+    return_type: long double
     arguments:
       - type: long double
-  - name: isnan
+      - type: long double
+  - name: fdiv
     standards:
-      - BSDExtensions
-    return_type: int
+      - stdc
+    return_type: float
     arguments:
       - type: double
-  - name: isnanf
+      - type: double
+  - name: fdivf128
     standards:
-      - BSDExtensions
-    return_type: int
+      - llvm_libc_ext
+    return_type: float
     arguments:
-      - type: float
-  - name: isnanl
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fdivl
     standards:
-      - BSDExtensions
-    return_type: int
+      - stdc
+    return_type: float
     arguments:
       - type: long double
-  - name: llogb
+      - type: long double
+  - name: ffma
     standards:
       - stdc
-    return_type: long
+    return_type: float
     arguments:
       - type: double
-  - name: llogbf
+      - type: double
+      - type: double
+  - name: ffmaf128
     standards:
-      - stdc
-    return_type: long
+      - llvm_libc_ext
+    return_type: float
     arguments:
-      - type: float
-  - name: llogbl
+      - type: float128
+      - type: float128
+      - type: float128
+    guards: LIBC_TYPES_HAS_FLOAT128
+  - name: ffmal
     standards:
       - stdc
-    return_type: long
+    return_type: float
     arguments:
       - type: long double
-  - name: ldexp
+      - type: long double
+      - type: long double
+  - name: floor
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-      - type: int
-  - name: ldexpf
+  - name: floorf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-      - type: int
-  - name: ldexpl
+  - name: floorf128
+    standards:
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: floorf16
+    standards:
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: floorl
     standards:
       - stdc
     return_type: long double
     arguments:
       - type: long double
-      - type: int
-  - name: log10
+  - name: fma
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-  - name: log10f
+      - type: double
+      - type: double
+  - name: fmaf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-  - name: log1p
+      - type: float
+      - type: float
+  - name: fmax
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-  - name: log1pf
+      - type: double
+  - name: fmaxf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-  - name: log2
+      - type: float
+  - name: fmaxf128
+    standards:
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fmaxf16
+    standards:
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: fmaximum
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-  - name: log2f
+      - type: double
+  - name: fmaximum_mag
     standards:
       - stdc
-    return_type: float
+    return_type: double
     arguments:
-      - type: float
-  - name: log
+      - type: double
+      - type: double
+  - name: fmaximum_mag_num
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-  - name: logf
+      - type: double
+  - name: fmaximum_mag_numf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-  - name: logb
+      - type: float
+  - name: fmaximum_mag_numf128
     standards:
       - stdc
-    return_type: double
+    return_type: float128
     arguments:
-      - type: double
-  - name: logbf
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fmaximum_mag_numf16
     standards:
       - stdc
-    return_type: float
+    return_type: _Float16
     arguments:
-      - type: float
-  - name: logbl
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: fmaximum_mag_numl
     standards:
       - stdc
     return_type: long double
     arguments:
       - type: long double
-  - name: modf
+      - type: long double
+  - name: fmaximum_magf
     standards:
       - stdc
-    return_type: double
+    return_type: float
     arguments:
-      - type: double
-      - type: double *
-  - name: modff
+      - type: float
+      - type: float
+  - name: fmaximum_magf128
     standards:
       - stdc
-    return_type: float
+    return_type: float128
     arguments:
-      - type: float
-      - type: float *
-  - name: modfl
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fmaximum_magf16
+    standards:
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: fmaximum_magl
     standards:
       - stdc
     return_type: long double
     arguments:
       - type: long double
-      - type: long double *
-  - name: cos
+      - type: long double
+  - name: fmaximum_num
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-  - name: cosf
+      - type: double
+  - name: fmaximum_numf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-  - name: sin
+      - type: float
+  - name: fmaximum_numf128
     standards:
       - stdc
-    return_type: double
-    arguments:
-      - type: double
-  - name: sincosf
-    standards:
-      - gnu
-    return_type: void
+    return_type: float128
     arguments:
-      - type: float
-      - type: float *
-      - type: float *
-  - name: sinf
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fmaximum_numf16
     standards:
       - stdc
-    return_type: float
+    return_type: _Float16
     arguments:
-      - type: float
-  - name: tan
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: fmaximum_numl
     standards:
       - stdc
-    return_type: double
+    return_type: long double
     arguments:
-      - type: double
-  - name: tanf
+      - type: long double
+      - type: long double
+  - name: fmaximumf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-  - name: erff
+      - type: float
+  - name: fmaximumf128
     standards:
       - stdc
-    return_type: float
+    return_type: float128
     arguments:
-      - type: float
-  - name: exp
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fmaximumf16
     standards:
       - stdc
-    return_type: double
+    return_type: _Float16
     arguments:
-      - type: double
-  - name: expf
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: fmaximuml
     standards:
       - stdc
-    return_type: float
+    return_type: long double
     arguments:
-      - type: float
-  - name: exp2
+      - type: long double
+      - type: long double
+  - name: fmaxl
     standards:
       - stdc
-    return_type: double
+    return_type: long double
     arguments:
-      - type: double
-  - name: exp2f
+      - type: long double
+      - type: long double
+  - name: fmin
     standards:
       - stdc
-    return_type: float
+    return_type: double
     arguments:
-      - type: float
-  - name: exp2m1f
+      - type: double
+      - type: double
+  - name: fminf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-  - name: expm1
+      - type: float
+  - name: fminf128
     standards:
       - stdc
-    return_type: double
+    return_type: float128
     arguments:
-      - type: double
-  - name: expm1f
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fminf16
     standards:
       - stdc
-    return_type: float
+    return_type: _Float16
     arguments:
-      - type: float
-  - name: exp10
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: fminimum
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-  - name: exp10f
+      - type: double
+  - name: fminimum_mag
     standards:
       - stdc
-    return_type: float
+    return_type: double
     arguments:
-      - type: float
-  - name: remainder
+      - type: double
+      - type: double
+  - name: fminimum_mag_num
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
       - type: double
-  - name: remainderf
+  - name: fminimum_mag_numf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
       - type: float
-  - name: remainderl
-    standards:
-      - stdc
-    return_type: long double
-    arguments:
-      - type: long double
-      - type: long double
-  - name: remainderf128
+  - name: fminimum_mag_numf128
     standards:
       - stdc
     return_type: float128
@@ -802,885 +881,855 @@ functions:
       - type: float128
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-  - name: remquo
-    standards:
-      - stdc
-    return_type: double
-    arguments:
-      - type: double
-      - type: double
-      - type: int *
-  - name: remquof
+  - name: fminimum_mag_numf16
     standards:
       - stdc
-    return_type: float
+    return_type: _Float16
     arguments:
-      - type: float
-      - type: float
-      - type: int *
-  - name: remquol
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: fminimum_mag_numl
     standards:
       - stdc
     return_type: long double
     arguments:
       - type: long double
       - type: long double
-      - type: int *
-  - name: round
+  - name: fminimum_magf
     standards:
       - stdc
-    return_type: double
+    return_type: float
     arguments:
-      - type: double
-  - name: roundf
+      - type: float
+      - type: float
+  - name: fminimum_magf128
     standards:
       - stdc
-    return_type: float
+    return_type: float128
     arguments:
-      - type: float
-  - name: roundl
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fminimum_magf16
+    standards:
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: fminimum_magl
     standards:
       - stdc
     return_type: long double
     arguments:
       - type: long double
-  - name: roundeven
+      - type: long double
+  - name: fminimum_num
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-  - name: roundevenf
+      - type: double
+  - name: fminimum_numf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-  - name: roundevenl
+      - type: float
+  - name: fminimum_numf128
     standards:
       - stdc
-    return_type: long double
+    return_type: float128
     arguments:
-      - type: long double
-  - name: lround
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fminimum_numf16
     standards:
       - stdc
-    return_type: long
+    return_type: _Float16
     arguments:
-      - type: double
-  - name: lroundf
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: fminimumf
     standards:
       - stdc
-    return_type: long
+    return_type: float
     arguments:
       - type: float
-  - name: lroundl
+      - type: float
+  - name: fminimumf128
     standards:
       - stdc
-    return_type: long
+    return_type: float128
     arguments:
-      - type: long double
-  - name: llround
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fminimumf16
     standards:
       - stdc
-    return_type: long long
+    return_type: _Float16
     arguments:
-      - type: double
-  - name: llroundf
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: fminimuml
     standards:
       - stdc
-    return_type: long long
+    return_type: long double
     arguments:
-      - type: float
-  - name: llroundl
+      - type: long double
+      - type: long double
+  - name: fminl
     standards:
       - stdc
-    return_type: long long
+    return_type: long double
     arguments:
       - type: long double
-  - name: rint
+      - type: long double
+  - name: fmod
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-  - name: rintf
+      - type: double
+  - name: fmodf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-  - name: rintl
-    standards:
-      - stdc
-    return_type: long double
-    arguments:
-      - type: long double
-  - name: lrint
+      - type: float
+  - name: fmodf128
     standards:
       - stdc
-    return_type: long
+    return_type: float128
     arguments:
-      - type: double
-  - name: lrintf
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fmodf16
     standards:
       - stdc
-    return_type: long
+    return_type: _Float16
     arguments:
-      - type: float
-  - name: lrintl
+      - type: _Float16
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: fmodl
     standards:
       - stdc
-    return_type: long
+    return_type: long double
     arguments:
       - type: long double
-  - name: llrint
+      - type: long double
+  - name: fmul
     standards:
       - stdc
-    return_type: long long
+    return_type: float
     arguments:
       - type: double
-  - name: llrintf
+      - type: double
+  - name: fmulf128
     standards:
-      - stdc
-    return_type: long long
+      - llvm_libc_ext
+    return_type: float
     arguments:
-      - type: float
-  - name: llrintl
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fmull
     standards:
       - stdc
-    return_type: long long
+    return_type: float
     arguments:
       - type: long double
-  - name: sqrt
+      - type: long double
+  - name: frexp
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-  - name: sqrtf
+      - type: int *
+  - name: frexpf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-  - name: sqrtl
+      - type: int *
+  - name: frexpf128
+    standards:
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: int *
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: frexpf16
+    standards:
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: int *
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: frexpl
     standards:
       - stdc
     return_type: long double
     arguments:
       - type: long double
-  - name: trunc
+      - type: int *
+  - name: fromfp
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-  - name: truncf
+      - type: int
+      - type: unsigned int
+  - name: fromfpf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-  - name: truncl
+      - type: int
+      - type: unsigned int
+  - name: fromfpf128
+    standards:
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: int
+      - type: unsigned int
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fromfpf16
+    standards:
+      - stdc
+    return_type: _Float16
+    arguments:
+      - type: _Float16
+      - type: int
+      - type: unsigned int
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: fromfpl
     standards:
       - stdc
     return_type: long double
     arguments:
       - type: long double
-  - name: nearbyint
+      - type: int
+      - type: unsigned int
+  - name: fromfpx
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-  - name: nearbyintf
+      - type: int
+      - type: unsigned int
+  - name: fromfpxf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-  - name: nearbyintl
+      - type: int
+      - type: unsigned int
+  - name: fromfpxf128
     standards:
       - stdc
-    return_type: long double
+    return_type: float128
     arguments:
-      - type: long double
-  - name: nextafterf
+      - type: float128
+      - type: int
+      - type: unsigned int
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fromfpxf16
     standards:
       - stdc
-    return_type: float
+    return_type: _Float16
     arguments:
-      - type: float
-      - type: float
-  - name: nextafter
+      - type: _Float16
+      - type: int
+      - type: unsigned int
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: fromfpxl
     standards:
       - stdc
-    return_type: double
+    return_type: long double
+    arguments:
+      - type: long double
+      - type: int
+      - type: unsigned int
+  - name: fsub
+    standards:
+      - stdc
+    return_type: float
     arguments:
       - type: double
       - type: double
-  - name: nextafterl
+  - name: fsubf128
     standards:
-      - stdc
-    return_type: long double
+      - llvm_libc_ext
+    return_type: float
     arguments:
-      - type: long double
-      - type: long double
-  - name: nexttowardf
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: fsubl
     standards:
       - stdc
     return_type: float
     arguments:
-      - type: float
       - type: long double
-  - name: nexttoward
+      - type: long double
+  - name: getpayload
     standards:
       - stdc
     return_type: double
     arguments:
-      - type: double
-      - type: long double
-  - name: nexttowardl
+      - type: double *
+  - name: getpayloadf
     standards:
       - stdc
-    return_type: long double
+    return_type: float
     arguments:
-      - type: long double
-      - type: long double
-  - name: nextdown
+      - type: float *
+  - name: getpayloadf128
     standards:
       - stdc
-    return_type: double
+    return_type: float128
     arguments:
-      - type: double
-  - name: nextdownf
+      - type: float128 *
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: getpayloadf16
     standards:
       - stdc
-    return_type: float
+    return_type: _Float16
     arguments:
-      - type: float
-  - name: nextdownl
+      - type: _Float16 *
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: getpayloadl
     standards:
       - stdc
     return_type: long double
     arguments:
-      - type: long double
-  - name: nextup
+      - type: long double *
+  - name: hypot
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-  - name: nextupf
+      - type: double
+  - name: hypotf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-  - name: nextupl
+      - type: float
+  - name: ilogb
     standards:
       - stdc
-    return_type: long double
+    return_type: int
     arguments:
-      - type: long double
-  - name: powf
+      - type: double
+  - name: ilogbf
     standards:
       - stdc
-    return_type: float
+    return_type: int
     arguments:
       - type: float
-      - type: float
-  - name: pow
+  - name: ilogbf128
     standards:
       - stdc
-    return_type: double
-    arguments:
-      - type: double
-      - type: double
-  - name: powi
-    standards: llvm_libc_ext
-    return_type: double
-    arguments:
-      - type: double
-      - type: int
-  - name: powif
-    standards: llvm_libc_ext
-    return_type: float
+    return_type: int
     arguments:
-      - type: float
-      - type: int
-  - name: coshf
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: ilogbf16
     standards:
       - stdc
-    return_type: float
+    return_type: int
     arguments:
-      - type: float
-  - name: sinhf
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: ilogbl
     standards:
       - stdc
-    return_type: float
+    return_type: int
     arguments:
-      - type: float
-  - name: tanhf
+      - type: long double
+  - name: isnan
     standards:
-      - stdc
-    return_type: float
+      - BSDExtensions
+    return_type: int
     arguments:
-      - type: float
-  - name: acosf
+      - type: double
+  - name: isnanf
     standards:
-      - stdc
-    return_type: float
+      - BSDExtensions
+    return_type: int
     arguments:
       - type: float
-  - name: asinf
+  - name: isnanl
     standards:
-      - stdc
-    return_type: float
+      - BSDExtensions
+    return_type: int
     arguments:
-      - type: float
-  - name: asin
+      - type: long double
+  - name: ldexp
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-  - name: atanf
+      - type: int
+  - name: ldexpf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-  - name: atan2f
+      - type: int
+  - name: ldexpf128
     standards:
       - stdc
-    return_type: float
+    return_type: float128
     arguments:
-      - type: float
-      - type: float
-  - name: acoshf
+      - type: float128
+      - type: int
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: ldexpf16
     standards:
       - stdc
-    return_type: float
+    return_type: _Float16
     arguments:
-      - type: float
-  - name: asinhf
+      - type: _Float16
+      - type: int
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: ldexpl
     standards:
       - stdc
-    return_type: float
+    return_type: long double
     arguments:
-      - type: float
-  - name: atanhf
+      - type: long double
+      - type: int
+  - name: lgamma
     standards:
       - stdc
-    return_type: float
+    return_type: double
     arguments:
-      - type: float
-  - name: scalbn
+      - type: double
+  - name: lgamma_r
     standards:
-      - stdc
+      - gnu
     return_type: double
     arguments:
       - type: double
-      - type: int
-  - name: scalbnf
+      - type: int *
+  - name: lgammaf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-      - type: int
-  - name: scalbnl
-    standards:
-      - stdc
-    return_type: long double
-    arguments:
-      - type: long double
-      - type: int
-  - name: nanf
+  - name: lgammaf_r
     standards:
-      - stdc
+      - gnu
     return_type: float
     arguments:
-      - type: const char *
-  - name: nan
+      - type: float
+      - type: int *
+  - name: lgammal
     standards:
       - stdc
-    return_type: double
+    return_type: long double
     arguments:
-      - type: const char *
-  - name: nanl
+      - type: long double
+  - name: lgammal_r
     standards:
-      - stdc
+      - gnu
     return_type: long double
     arguments:
-      - type: const char *
-  - name: canonicalize
+      - type: long double
+      - type: int *
+  - name: llogb
     standards:
       - stdc
-    return_type: int
+    return_type: long
     arguments:
       - type: double
-      - type: double
-  - name: canonicalizef
+  - name: llogbf
     standards:
       - stdc
-    return_type: int
+    return_type: long
     arguments:
       - type: float
-      - type: float
-  - name: canonicalizel
-    standards:
-      - stdc
-    return_type: int
-    arguments:
-      - type: long double
-      - type: long double
-  - name: canonicalizef128
+  - name: llogbf128
     standards:
       - stdc
-    return_type: int
+    return_type: long
     arguments:
       - type: float128
-      - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-  - name: canonicalizef16
+  - name: llogbf16
     standards:
       - stdc
-    return_type: int
+    return_type: long
     arguments:
       - type: _Float16
-      - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-  - name: ceilf16
+  - name: llogbl
     standards:
       - stdc
-    return_type: _Float16
+    return_type: long
     arguments:
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: copysignf16
+      - type: long double
+  - name: llrint
     standards:
       - stdc
-    return_type: _Float16
-    arguments:
-      - type: _Float16
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16add
-    standards:
-      - llvm_libc_ext
-    return_type: _Float16
+    return_type: long long
     arguments:
       - type: double
-      - type: double
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16addf
+  - name: llrintf
     standards:
-      - llvm_libc_ext
-    return_type: _Float16
+      - stdc
+    return_type: long long
     arguments:
       - type: float
-      - type: float
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16addl
-    standards:
-      - llvm_libc_ext
-    return_type: _Float16
-    arguments:
-      - type: long double
-      - type: long double
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16div
+  - name: llrintf128
     standards:
-      - llvm_libc_ext
-    return_type: _Float16
+      - stdc
+    return_type: long long
     arguments:
-      - type: double
-      - type: double
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16divf
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: llrintf16
     standards:
-      - llvm_libc_ext
-    return_type: _Float16
+      - stdc
+    return_type: long long
     arguments:
-      - type: float
-      - type: float
+      - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16divl
+  - name: llrintl
     standards:
-      - llvm_libc_ext
-    return_type: _Float16
+      - stdc
+    return_type: long long
     arguments:
       - type: long double
-      - type: long double
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16fma
+  - name: llround
     standards:
-      - llvm_libc_ext
-    return_type: _Float16
+      - stdc
+    return_type: long long
     arguments:
       - type: double
-      - type: double
-      - type: double
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16fmaf
+  - name: llroundf
     standards:
-      - llvm_libc_ext
-    return_type: _Float16
+      - stdc
+    return_type: long long
     arguments:
       - type: float
-      - type: float
-      - type: float
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16fmal
-    standards:
-      - llvm_libc_ext
-    return_type: _Float16
-    arguments:
-      - type: long double
-      - type: long double
-      - type: long double
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16mul
+  - name: llroundf128
     standards:
-      - llvm_libc_ext
-    return_type: _Float16
+      - stdc
+    return_type: long long
     arguments:
-      - type: double
-      - type: double
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16mulf
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: llroundf16
     standards:
-      - llvm_libc_ext
-    return_type: _Float16
+      - stdc
+    return_type: long long
     arguments:
-      - type: float
-      - type: float
+      - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16mull
+  - name: llroundl
     standards:
-      - llvm_libc_ext
-    return_type: _Float16
+      - stdc
+    return_type: long long
     arguments:
       - type: long double
-      - type: long double
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16sqrt
+  - name: log
     standards:
-      - llvm_libc_ext
-    return_type: _Float16
+      - stdc
+    return_type: double
     arguments:
       - type: double
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16sqrtf
+  - name: log10
     standards:
-      - llvm_libc_ext
-    return_type: _Float16
+      - stdc
+    return_type: double
     arguments:
-      - type: float
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16sqrtl
+      - type: double
+  - name: log10f
     standards:
-      - llvm_libc_ext
-    return_type: _Float16
+      - stdc
+    return_type: float
     arguments:
-      - type: long double
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16sub
+      - type: float
+  - name: log1p
     standards:
-      - llvm_libc_ext
-    return_type: _Float16
+      - stdc
+    return_type: double
     arguments:
       - type: double
-      - type: double
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16subf
+  - name: log1pf
     standards:
-      - llvm_libc_ext
-    return_type: _Float16
+      - stdc
+    return_type: float
     arguments:
       - type: float
-      - type: float
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16subl
+  - name: log2
     standards:
-      - llvm_libc_ext
-    return_type: _Float16
+      - stdc
+    return_type: double
     arguments:
-      - type: long double
-      - type: long double
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: fabsf16
+      - type: double
+  - name: log2f
     standards:
       - stdc
-    return_type: _Float16
+    return_type: float
     arguments:
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: fdimf16
+      - type: float
+  - name: logb
     standards:
       - stdc
-    return_type: _Float16
+    return_type: double
     arguments:
-      - type: _Float16
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: floorf16
+      - type: double
+  - name: logbf
     standards:
       - stdc
-    return_type: _Float16
+    return_type: float
     arguments:
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: fmaxf16
+      - type: float
+  - name: logbf128
     standards:
       - stdc
-    return_type: _Float16
+    return_type: float128
     arguments:
-      - type: _Float16
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: fmaximum_mag_numf16
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: logbf16
     standards:
       - stdc
     return_type: _Float16
     arguments:
       - type: _Float16
-      - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-  - name: fmaximum_magf16
+  - name: logbl
     standards:
       - stdc
-    return_type: _Float16
+    return_type: long double
     arguments:
-      - type: _Float16
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: fmaximum_numf16
+      - type: long double
+  - name: logf
     standards:
       - stdc
-    return_type: _Float16
+    return_type: float
     arguments:
-      - type: _Float16
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: fmaximumf16
+      - type: float
+  - name: lrint
     standards:
       - stdc
-    return_type: _Float16
+    return_type: long
     arguments:
-      - type: _Float16
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: fminf16
+      - type: double
+  - name: lrintf
     standards:
       - stdc
-    return_type: _Float16
+    return_type: long
     arguments:
-      - type: _Float16
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: fminimum_mag_numf16
+      - type: float
+  - name: lrintf128
     standards:
       - stdc
-    return_type: _Float16
+    return_type: long
     arguments:
-      - type: _Float16
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: fminimum_magf16
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: lrintf16
     standards:
       - stdc
-    return_type: _Float16
+    return_type: long
     arguments:
       - type: _Float16
-      - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-  - name: fminimum_numf16
+  - name: lrintl
     standards:
       - stdc
-    return_type: _Float16
+    return_type: long
     arguments:
-      - type: _Float16
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: fminimumf16
+      - type: long double
+  - name: lround
     standards:
       - stdc
-    return_type: _Float16
+    return_type: long
     arguments:
-      - type: _Float16
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: fmodf16
+      - type: double
+  - name: lroundf
     standards:
       - stdc
-    return_type: _Float16
+    return_type: long
     arguments:
-      - type: _Float16
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: frexpf16
+      - type: float
+  - name: lroundf128
     standards:
       - stdc
-    return_type: _Float16
+    return_type: long
     arguments:
-      - type: _Float16
-      - type: int *
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: fromfpf16
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: lroundf16
     standards:
       - stdc
-    return_type: _Float16
+    return_type: long
     arguments:
       - type: _Float16
-      - type: int
-      - type: unsigned int
     guard: LIBC_TYPES_HAS_FLOAT16
-  - name: fromfpxf16
+  - name: lroundl
     standards:
       - stdc
-    return_type: _Float16
+    return_type: long
     arguments:
-      - type: _Float16
-      - type: int
-      - type: unsigned int
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: fsub
+      - type: long double
+  - name: modf
     standards:
       - stdc
-    return_type: float
+    return_type: double
     arguments:
       - type: double
-      - type: double
-  - name: fsubl
+      - type: double *
+  - name: modff
     standards:
       - stdc
     return_type: float
     arguments:
-      - type: long double
-      - type: long double
-  - name: fsubf128
+      - type: float
+      - type: float *
+  - name: modff128
     standards:
-      - llvm_libc_ext
-    return_type: float
+      - stdc
+    return_type: float128
     arguments:
       - type: float128
-      - type: float128
+      - type: float128 *
     guard: LIBC_TYPES_HAS_FLOAT128
-  - name: getpayload
+  - name: modff16
     standards:
       - stdc
-    return_type: double
+    return_type: _Float16
     arguments:
-      - type: double *
-  - name: getpayloadl
+      - type: _Float16
+      - type: _Float16 *
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: modfl
     standards:
       - stdc
     return_type: long double
     arguments:
+      - type: long double
       - type: long double *
-  - name: getpayloadf
+  - name: nan
     standards:
       - stdc
-    return_type: float
+    return_type: double
     arguments:
-      - type: float *
-  - name: getpayloadf16
+      - type: const char *
+  - name: nanf
     standards:
       - stdc
-    return_type: _Float16
+    return_type: float
     arguments:
-      - type: _Float16 *
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: getpayloadf128
+      - type: const char *
+  - name: nanf128
     standards:
       - stdc
     return_type: float128
     arguments:
-      - type: float128 *
+      - type: const char *
     guard: LIBC_TYPES_HAS_FLOAT128
-  - name: ilogbf16
-    standards:
-      - stdc
-    return_type: int
-    arguments:
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: ldexpf16
+  - name: nanf16
     standards:
       - stdc
     return_type: _Float16
     arguments:
-      - type: _Float16
-      - type: int
+      - type: const char *
     guard: LIBC_TYPES_HAS_FLOAT16
-  - name: llogbf16
+  - name: nanl
     standards:
       - stdc
-    return_type: long
+    return_type: long double
     arguments:
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: llrintf16
+      - type: const char *
+  - name: nearbyint
     standards:
       - stdc
-    return_type: long long
+    return_type: double
     arguments:
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: llroundf16
+      - type: double
+  - name: nearbyintf
     standards:
       - stdc
-    return_type: long long
+    return_type: float
     arguments:
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: logbf16
+      - type: float
+  - name: nearbyintf128
     standards:
       - stdc
-    return_type: _Float16
+    return_type: float128
     arguments:
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: lrintf16
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: nearbyintf16
     standards:
       - stdc
-    return_type: long
+    return_type: _Float16
     arguments:
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-  - name: lroundf16
+  - name: nearbyintl
     standards:
       - stdc
-    return_type: long
+    return_type: long double
     arguments:
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: modff16
+      - type: long double
+  - name: nextafter
     standards:
       - stdc
-    return_type: _Float16
+    return_type: double
     arguments:
-      - type: _Float16
-      - type: _Float16 *
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: nanf16
+      - type: double
+      - type: double
+  - name: nextafterf
     standards:
       - stdc
-    return_type: _Float16
+    return_type: float
     arguments:
-      - type: const char *
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: nearbyintf16
+      - type: float
+      - type: float
+  - name: nextafterf128
     standards:
       - stdc
-    return_type: _Float16
+    return_type: float128
     arguments:
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
+      - type: float128
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
   - name: nextafterf16
     standards:
       - stdc
@@ -1689,622 +1738,597 @@ functions:
       - type: _Float16
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-  - name: nextdownf16
+  - name: nextafterl
     standards:
       - stdc
-    return_type: _Float16
+    return_type: long double
     arguments:
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: nexttowardf16
+      - type: long double
+      - type: long double
+  - name: nextdown
     standards:
       - stdc
-    return_type: _Float16
+    return_type: double
     arguments:
-      - type: _Float16
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: nextupf16
+      - type: double
+  - name: nextdownf
     standards:
       - stdc
-    return_type: _Float16
+    return_type: float
     arguments:
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: remainderf16
+      - type: float
+  - name: nextdownf128
     standards:
       - stdc
-    return_type: _Float16
+    return_type: float128
     arguments:
-      - type: _Float16
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: remquof16
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: nextdownf16
     standards:
       - stdc
     return_type: _Float16
     arguments:
       - type: _Float16
-      - type: _Float16
-      - type: int *
     guard: LIBC_TYPES_HAS_FLOAT16
-  - name: rintf16
+  - name: nextdownl
     standards:
       - stdc
-    return_type: _Float16
+    return_type: long double
     arguments:
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: roundevenf16
+      - type: long double
+  - name: nexttoward
     standards:
       - stdc
-    return_type: _Float16
+    return_type: double
     arguments:
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: roundf16
+      - type: double
+      - type: long double
+  - name: nexttowardf
     standards:
       - stdc
-    return_type: _Float16
+    return_type: float
     arguments:
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: scalblnf16
+      - type: float
+      - type: long double
+  - name: nexttowardf16
     standards:
       - stdc
     return_type: _Float16
     arguments:
       - type: _Float16
-      - type: long
+      - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-  - name: scalbnf16
+  - name: nexttowardl
     standards:
       - stdc
-    return_type: _Float16
+    return_type: long double
     arguments:
-      - type: _Float16
-      - type: int
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: setpayload
+      - type: long double
+      - type: long double
+  - name: nextup
     standards:
       - stdc
-    return_type: int
+    return_type: double
     arguments:
-      - type: double *
       - type: double
-  - name: setpayloadf
+  - name: nextupf
     standards:
       - stdc
-    return_type: int
+    return_type: float
     arguments:
-      - type: float *
       - type: float
-  - name: setpayloadl
+  - name: nextupf128
     standards:
       - stdc
-    return_type: int
+    return_type: float128
     arguments:
-      - type: long double *
-      - type: long double
-  - name: setpayloadf16
+      - type: float128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: nextupf16
     standards:
       - stdc
-    return_type: int
+    return_type: _Float16
     arguments:
-      - type: _Float16 *
       - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-  - name: setpayloadf128
+  - name: nextupl
     standards:
       - stdc
-    return_type: int
+    return_type: long double
     arguments:
-      - type: float128 *
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: setpayloadsig
+      - type: long double
+  - name: pow
     standards:
       - stdc
     return_type: double
     arguments:
-      - type: double *
       - type: double
-  - name: setpayloadsigf
+      - type: double
+  - name: powf
     standards:
       - stdc
-    return_type: int
+    return_type: float
     arguments:
-      - type: float *
       - type: float
-  - name: setpayloadsigl
+      - type: float
+  - name: powi
+    standards: llvm_libc_ext
+    return_type: double
+    arguments:
+      - type: double
+      - type: int
+  - name: powif
+    standards: llvm_libc_ext
+    return_type: float
+    arguments:
+      - type: float
+      - type: int
+  - name: remainder
     standards:
       - stdc
-    return_type: int
+    return_type: double
     arguments:
-      - type: long double *
-      - type: long double
-  - name: setpayloadsigf16
+      - type: double
+      - type: double
+  - name: remainderf
     standards:
       - stdc
-    return_type: int
+    return_type: float
     arguments:
-      - type: _Float16 *
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: setpayloadsigf128
+      - type: float
+      - type: float
+  - name: remainderf128
     standards:
       - stdc
-    return_type: int
+    return_type: float128
     arguments:
-      - type: float128 *
+      - type: float128
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-  - name: totalorderf16
+  - name: remainderf16
     standards:
       - stdc
-    return_type: int
+    return_type: _Float16
     arguments:
-      - type: _Float16 *
-      - type: _Float16 *
+      - type: _Float16
+      - type: _Float16
     guard: LIBC_TYPES_HAS_FLOAT16
-  - name: totalordermagf16
+  - name: remainderl
     standards:
       - stdc
-    return_type: int
+    return_type: long double
     arguments:
-      - type: _Float16 *
-      - type: _Float16 *
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: truncf16
+      - type: long double
+      - type: long double
+  - name: remquo
     standards:
       - stdc
-    return_type: _Float16
+    return_type: double
     arguments:
-      - type: _Float16
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: ufromfpf16
+      - type: double
+      - type: double
+      - type: int *
+  - name: remquof
     standards:
       - stdc
-    return_type: _Float16
+    return_type: float
     arguments:
-      - type: _Float16
-      - type: int
-      - type: unsigned int
-    guard: LIBC_TYPES_HAS_FLOAT16
-  - name: ufromfpxf16
+      - type: float
+      - type: float
+      - type: int *
+  - name: remquof128
+    standards:
+      - stdc
+    return_type: float128
+    arguments:
+      - type: float128
+      - type: float128
+      - type: int *
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: remquof16
     standards:
       - stdc
     return_type: _Float16
     arguments:
       - type: _Float16
-      - type: int
-      - type: unsigned int
+      - type: _Float16
+      - type: int *
     guard: LIBC_TYPES_HAS_FLOAT16
-  - name: f16addf128
+  - name: remquol
     standards:
       - stdc
-    return_type: _Float16
+    return_type: long double
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128
-  - name: f16divf128
+      - type: long double
+      - type: long double
+      - type: int *
+  - name: rint
+    standards:
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+  - name: rintf
     standards:
       - stdc
-    return_type: _Float16
+    return_type: float
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128
-  - name: f16fmaf128
+      - type: float
+  - name: rintf128
     standards:
       - stdc
-    return_type: _Float16
+    return_type: float128
     arguments:
       - type: float128
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128
-  - name: f16mulf128
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: rintf16
     standards:
       - stdc
     return_type: _Float16
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128
-  - name: f16sqrtf128
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: rintl
     standards:
-      - llvm_libc_ext
-    return_type: _Float16
+      - stdc
+    return_type: long double
     arguments:
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128
-  - name: f16subf128
+      - type: long double
+  - name: round
     standards:
       - stdc
-    return_type: _Float16
+    return_type: double
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT16_AND_FLOAT128
-  - name: ceilf128
+      - type: double
+  - name: roundeven
     standards:
       - stdc
-    return_type: float128
+    return_type: double
     arguments:
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: copysignf128
+      - type: double
+  - name: roundevenf
     standards:
       - stdc
-    return_type: float128
+    return_type: float
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: fabsf128
+      - type: float
+  - name: roundevenf128
     standards:
       - stdc
     return_type: float128
     arguments:
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-  - name: fdimf128
+  - name: roundevenf16
     standards:
       - stdc
-    return_type: float128
+    return_type: _Float16
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: fdiv
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: roundevenl
     standards:
       - stdc
-    return_type: float
+    return_type: long double
     arguments:
-      - type: double
-      - type: double
-  - name: fdivl
+      - type: long double
+  - name: roundf
     standards:
       - stdc
     return_type: float
     arguments:
-      - type: long double
-      - type: long double
-  - name: fdivf128
+      - type: float
+  - name: roundf128
     standards:
-      - llvm_libc_ext
-    return_type: float
+      - stdc
+    return_type: float128
     arguments:
       - type: float128
-      - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-  - name: ffma
+  - name: roundf16
     standards:
       - stdc
-    return_type: float
+    return_type: _Float16
     arguments:
-      - type: double
-      - type: double
-      - type: double
-  - name: ffmal
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: roundl
     standards:
       - stdc
-    return_type: float
+    return_type: long double
     arguments:
       - type: long double
-      - type: long double
-      - type: long double
-  - name: ffmaf128
+  - name: scalbln
     standards:
-      - llvm_libc_ext
+      - stdc
+    return_type: double
+    arguments:
+      - type: double
+      - type: long
+  - name: scalblnf
+    standards:
+      - stdc
     return_type: float
     arguments:
-      - type: float128
-      - type: float128
-      - type: float128
-    guards: LIBC_TYPES_HAS_FLOAT128
-  - name: floorf128
+      - type: float
+      - type: long
+  - name: scalblnf128
     standards:
       - stdc
     return_type: float128
     arguments:
       - type: float128
+      - type: long
     guard: LIBC_TYPES_HAS_FLOAT128
-  - name: fmaxf128
+  - name: scalblnf16
     standards:
       - stdc
-    return_type: float128
+    return_type: _Float16
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: fmaximum_mag_numf128
+      - type: _Float16
+      - type: long
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: scalblnf16
     standards:
       - stdc
-    return_type: float128
+    return_type: float16
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: fmaximum_magf128
+      - type: float16
+      - type: long
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: scalblnl
     standards:
       - stdc
-    return_type: float128
+    return_type: long double
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: fmaximum_numf128
+      - type: long double
+      - type: long
+  - name: scalbn
     standards:
       - stdc
-    return_type: float128
+    return_type: double
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: fmaximumf128
+      - type: double
+      - type: int
+  - name: scalbnf
     standards:
       - stdc
-    return_type: float128
+    return_type: float
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: fminf128
+      - type: float
+      - type: int
+  - name: scalbnf128
     standards:
       - stdc
     return_type: float128
     arguments:
       - type: float128
-      - type: float128
+      - type: int
     guard: LIBC_TYPES_HAS_FLOAT128
-  - name: fminimum_mag_numf128
+  - name: scalbnf16
     standards:
       - stdc
-    return_type: float128
+    return_type: _Float16
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: fminimum_magf128
+      - type: _Float16
+      - type: int
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: scalbnl
     standards:
       - stdc
-    return_type: float128
+    return_type: long double
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: fminimum_numf128
+      - type: long double
+      - type: int
+  - name: setpayload
     standards:
       - stdc
-    return_type: float128
+    return_type: int
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: fminimumf128
+      - type: double *
+      - type: double
+  - name: setpayloadf
     standards:
       - stdc
-    return_type: float128
+    return_type: int
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: fmodf128
+      - type: float *
+      - type: float
+  - name: setpayloadf128
     standards:
       - stdc
-    return_type: float128
+    return_type: int
     arguments:
-      - type: float128
+      - type: float128 *
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-  - name: fmulf128
+  - name: setpayloadf16
     standards:
-      - llvm_libc_ext
-    return_type: float
+      - stdc
+    return_type: int
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: dmulf128
+      - type: _Float16 *
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: setpayloadl
     standards:
-      - llvm_libc_ext
-    return_type: double
+      - stdc
+    return_type: int
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: frexpf128
+      - type: long double *
+      - type: long double
+  - name: setpayloadsig
     standards:
       - stdc
-    return_type: float128
+    return_type: double
     arguments:
-      - type: float128
-      - type: int *
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: fromfpf128
+      - type: double *
+      - type: double
+  - name: setpayloadsigf
     standards:
       - stdc
-    return_type: float128
+    return_type: int
     arguments:
-      - type: float128
-      - type: int
-      - type: unsigned int
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: fromfpxf128
+      - type: float *
+      - type: float
+  - name: setpayloadsigf128
     standards:
       - stdc
-    return_type: float128
+    return_type: int
     arguments:
+      - type: float128 *
       - type: float128
-      - type: int
-      - type: unsigned int
     guard: LIBC_TYPES_HAS_FLOAT128
-  - name: ilogbf128
+  - name: setpayloadsigf16
     standards:
       - stdc
     return_type: int
     arguments:
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: ldexpf128
+      - type: _Float16 *
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: setpayloadsigl
     standards:
       - stdc
-    return_type: float128
+    return_type: int
     arguments:
-      - type: float128
-      - type: int
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: llogbf128
+      - type: long double *
+      - type: long double
+  - name: sin
     standards:
       - stdc
-    return_type: long
+    return_type: double
     arguments:
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: llrintf128
+      - type: double
+  - name: sincosf
     standards:
-      - stdc
-    return_type: long long
+      - gnu
+    return_type: void
     arguments:
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: llroundf128
+      - type: float
+      - type: float *
+      - type: float *
+  - name: sinf
     standards:
       - stdc
-    return_type: long long
+    return_type: float
     arguments:
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: logbf128
+      - type: float
+  - name: sinhf
     standards:
       - stdc
-    return_type: float128
+    return_type: float
     arguments:
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: lrintf128
+      - type: float
+  - name: sqrt
     standards:
       - stdc
-    return_type: long
+    return_type: double
     arguments:
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: lroundf128
+      - type: double
+  - name: sqrtf
     standards:
       - stdc
-    return_type: long
+    return_type: float
     arguments:
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: modff128
+      - type: float
+  - name: sqrtf128
     standards:
       - stdc
     return_type: float128
     arguments:
       - type: float128
-      - type: float128 *
     guard: LIBC_TYPES_HAS_FLOAT128
-  - name: nanf128
+  - name: sqrtl
     standards:
       - stdc
-    return_type: float128
+    return_type: long double
     arguments:
-      - type: const char *
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: nearbyintf128
+      - type: long double
+  - name: tan
     standards:
       - stdc
-    return_type: float128
+    return_type: double
     arguments:
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: nextafterf128
+      - type: double
+  - name: tanf
     standards:
       - stdc
-    return_type: float128
+    return_type: float
     arguments:
-      - type: float128
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: nextdownf128
+      - type: float
+  - name: tanhf
     standards:
       - stdc
-    return_type: float128
+    return_type: float
     arguments:
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: nextupf128
+      - type: float
+  - name: totalorderf16
     standards:
       - stdc
-    return_type: float128
+    return_type: int
     arguments:
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: remquof128
+      - type: _Float16 *
+      - type: _Float16 *
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: totalordermagf16
     standards:
       - stdc
-    return_type: float128
+    return_type: int
     arguments:
-      - type: float128
-      - type: float128
-      - type: int *
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: rintf128
+      - type: _Float16 *
+      - type: _Float16 *
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: trunc
     standards:
       - stdc
-    return_type: float128
+    return_type: double
     arguments:
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: roundevenf128
+      - type: double
+  - name: truncf
     standards:
       - stdc
-    return_type: float128
+    return_type: float
     arguments:
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: roundf128
+      - type: float
+  - name: truncf128
     standards:
       - stdc
     return_type: float128
     arguments:
       - type: float128
     guard: LIBC_TYPES_HAS_FLOAT128
-  - name: scalbnf128
+  - name: truncf16
     standards:
       - stdc
-    return_type: float128
+    return_type: _Float16
     arguments:
-      - type: float128
-      - type: int
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: sqrtf128
+      - type: _Float16
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: truncl
     standards:
       - stdc
-    return_type: float128
+    return_type: long double
     arguments:
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: truncf128
+      - type: long double
+  - name: ufromfp
     standards:
       - stdc
-    return_type: float128
+    return_type: double
     arguments:
-      - type: float128
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: ufromfpf128
+      - type: double
+      - type: int
+      - type: unsigned int
+  - name: ufromfpf
     standards:
       - stdc
-    return_type: float128
+    return_type: float
     arguments:
-      - type: float128
+      - type: float
       - type: int
       - type: unsigned int
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: ufromfpxf128
+  - name: ufromfpf128
     standards:
       - stdc
     return_type: float128
@@ -2313,86 +2337,62 @@ functions:
       - type: int
       - type: unsigned int
     guard: LIBC_TYPES_HAS_FLOAT128
-  - name: scalbln
-    standards: 
-      - stdc
-    return_type: double
-    arguments:
-      - type: double
-      - type: long
-  - name: scalblnl
-    standards:
-      - stdc
-    return_type: long double
-    arguments:
-      - type: long double
-      - type: long
-  - name: scalblnf
-    standards:
-      - stdc
-    return_type: float
-    arguments:
-      - type: float
-      - type: long
-  - name: scalblnf16
+  - name: ufromfpf16
     standards:
       - stdc
-    return_type: float16
+    return_type: _Float16
     arguments:
-      - type: float16
-      - type: long
+      - type: _Float16
+      - type: int
+      - type: unsigned int
     guard: LIBC_TYPES_HAS_FLOAT16
-  - name: scalblnf128
+  - name: ufromfpl
     standards:
       - stdc
-    return_type: float128
+    return_type: long double
     arguments:
-      - type: float128
-      - type: long
-    guard: LIBC_TYPES_HAS_FLOAT128
-  - name: lgamma
+      - type: long double
+      - type: int
+      - type: unsigned int
+  - name: ufromfpx
     standards:
       - stdc
     return_type: double
     arguments:
       - type: double
-  - name: lgammaf
+      - type: int
+      - type: unsigned int
+  - name: ufromfpxf
     standards:
       - stdc
     return_type: float
     arguments:
       - type: float
-  - name: lgammal
+      - type: int
+      - type: unsigned int
+  - name: ufromfpxf128
     standards:
       - stdc
-    return_type: long double
-    arguments:
-      - type: long double
-  - name: lgamma_r
-    standards:
-      - gnu
-    return_type: double
-    arguments:
-      - type: double
-      - type: int *
-  - name: lgammaf_r
-    standards:
-      - gnu
-    return_type: float
+    return_type: float128
     arguments:
-      - type: float
-      - type: int *
-  - name: lgammal_r
+      - type: float128
+      - type: int
+      - type: unsigned int
+    guard: LIBC_TYPES_HAS_FLOAT128
+  - name: ufromfpxf16
     standards:
-      - gnu
-    return_type: long double
+      - stdc
+    return_type: _Float16
     arguments:
-      - type: long double
-      - type: int *
-  - name: ddivl
+      - type: _Float16
+      - type: int
+      - type: unsigned int
+    guard: LIBC_TYPES_HAS_FLOAT16
+  - name: ufromfpxl
     standards:
       - stdc
     return_type: long double
     arguments:
       - type: long double
-      - type: long double
+      - type: int
+      - type: unsigned int
diff --git a/libc/newhdrgen/yaml/pthread.yaml b/libc/newhdrgen/yaml/pthread.yaml
index f3c59ee44943b1..b9068c3f176575 100644
--- a/libc/newhdrgen/yaml/pthread.yaml
+++ b/libc/newhdrgen/yaml/pthread.yaml
@@ -31,12 +31,6 @@ functions:
     return_type: int
     arguments:
       - type: pthread_attr_t *
-  - name: pthread_attr_init
-    standards:
-      - POSIX
-    return_type: int
-    arguments:
-      - type: pthread_attr_t *
   - name: pthread_attr_getdetachstate
     standards:
       - POSIX
@@ -66,6 +60,12 @@ functions:
     arguments:
       - type: const pthread_attr_t *__restrict
       - type: size_t *__restrict
+  - name: pthread_attr_init
+    standards:
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_attr_t *
   - name: pthread_attr_setdetachstate
     standards:
       - POSIX
@@ -197,19 +197,6 @@ functions:
     return_type: int
     arguments:
       - type: pthread_key_t
-  - name: pthread_self
-    standards:
-      - POSIX
-    return_type: pthread_t
-    arguments:
-      - type: void
-  - name: pthread_setname_np
-    standards:
-      - GNUExtensions
-    return_type: int
-    arguments:
-      - type: pthread_t
-      - type: const char *
   - name: pthread_mutex_destroy
     standards:
       - POSIX
@@ -241,12 +228,6 @@ functions:
     return_type: int
     arguments:
       - type: pthread_mutexattr_t *
-  - name: pthread_mutexattr_init
-    standards:
-      - POSIX
-    return_type: int
-    arguments:
-      - type: pthread_mutexattr_t *
   - name: pthread_mutexattr_getpshared
     standards:
       - POSIX
@@ -268,6 +249,12 @@ functions:
     arguments:
       - type: const pthread_mutexattr_t *__restrict
       - type: int *__restrict
+  - name: pthread_mutexattr_init
+    standards:
+      - POSIX
+    return_type: int
+    arguments:
+      - type: pthread_mutexattr_t *
   - name: pthread_mutexattr_setpshared
     standards:
       - POSIX
@@ -296,6 +283,68 @@ functions:
     arguments:
       - type: pthread_once_t *
       - type: __pthread_once_func_t
+  - name: pthread_rwlock_clockrdlock
+    standards: POSIX
+    return_type: int
+    arguments:
+      - type: pthread_rwlock_t *__restrict
+      - type: clockid_t
+      - type: const struct timespec *__restrict
+  - name: pthread_rwlock_clockwrlock
+    standards: POSIX
+    return_type: int
+    arguments:
+      - type: pthread_rwlock_t *__restrict
+      - type: clockid_t
+      - type: const struct timespec *__restrict
+  - name: pthread_rwlock_destroy
+    standards: POSIX
+    return_type: int
+    arguments:
+      - type: pthread_rwlock_t *
+  - name: pthread_rwlock_init
+    standards: POSIX
+    return_type: int
+    arguments:
+      - type: pthread_rwlock_t *
+      - type: const pthread_rwlockattr_t *__restrict
+  - name: pthread_rwlock_rdlock
+    standards: POSIX
+    return_type: int
+    arguments:
+      - type: pthread_rwlock_t *
+  - name: pthread_rwlock_timedrdlock
+    standards: POSIX
+    return_type: int
+    arguments:
+      - type: pthread_rwlock_t *__restrict
+      - type: const struct timespec *__restrict
+  - name: pthread_rwlock_timedwrlock
+    standards: POSIX
+    return_type: int
+    arguments:
+      - type: pthread_rwlock_t *__restrict
+      - type: const struct timespec *__restrict
+  - name: pthread_rwlock_tryrdlock
+    standards: POSIX
+    return_type: int
+    arguments:
+      - type: pthread_rwlock_t *
+  - name: pthread_rwlock_trywrlock
+    standards: POSIX
+    return_type: int
+    arguments:
+      - type: pthread_rwlock_t *
+  - name: pthread_rwlock_unlock
+    standards: POSIX
+    return_type: int
+    arguments:
+      - type: pthread_rwlock_t *
+  - name: pthread_rwlock_wrlock
+    standards: POSIX
+    return_type: int
+    arguments:
+      - type: pthread_rwlock_t *
   - name: pthread_rwlockattr_destroy
     standards:
       - POSIX
@@ -336,6 +385,19 @@ functions:
     arguments:
       - type: pthread_rwlockattr_t *
       - type: int
+  - name: pthread_self
+    standards:
+      - POSIX
+    return_type: pthread_t
+    arguments:
+      - type: void
+  - name: pthread_setname_np
+    standards:
+      - GNUExtensions
+    return_type: int
+    arguments:
+      - type: pthread_t
+      - type: const char *
   - name: pthread_setspecific
     standards:
       - POSIX
@@ -343,79 +405,17 @@ functions:
     arguments:
       - type: pthread_key_t
       - type: const void *
-  - name: pthread_rwlock_init
-    standards: POSIX
-    return_type: int
-    arguments:
-      - type: pthread_rwlock_t *
-      - type: const pthread_rwlockattr_t *__restrict
-  - name: pthread_rwlock_tryrdlock
-    standards: POSIX
-    return_type: int
-    arguments:
-      - type: pthread_rwlock_t *
-  - name: pthread_rwlock_trywrlock
-    standards: POSIX
-    return_type: int
-    arguments:
-      - type: pthread_rwlock_t *
-  - name: pthread_rwlock_timedrdlock
-    standards: POSIX
-    return_type: int
-    arguments:
-      - type: pthread_rwlock_t *__restrict
-      - type: const struct timespec *__restrict
-  - name: pthread_rwlock_timedwrlock
-    standards: POSIX
-    return_type: int
-    arguments:
-      - type: pthread_rwlock_t *__restrict
-      - type: const struct timespec *__restrict
-  - name: pthread_rwlock_clockrdlock
-    standards: POSIX
-    return_type: int
-    arguments:
-      - type: pthread_rwlock_t *__restrict
-      - type: clockid_t
-      - type: const struct timespec *__restrict
-  - name: pthread_rwlock_clockwrlock
-    standards: POSIX
-    return_type: int
-    arguments:
-      - type: pthread_rwlock_t *__restrict
-      - type: clockid_t
-      - type: const struct timespec *__restrict
-  - name: pthread_rwlock_rdlock
-    standards: POSIX
-    return_type: int
-    arguments:
-      - type: pthread_rwlock_t *
-  - name: pthread_rwlock_wrlock
-    standards: POSIX
-    return_type: int
-    arguments:
-      - type: pthread_rwlock_t *
-  - name: pthread_rwlock_unlock
-    standards: POSIX
-    return_type: int
-    arguments:
-      - type: pthread_rwlock_t *
-  - name: pthread_rwlock_destroy
+  - name: pthread_spin_destroy
     standards: POSIX
     return_type: int
     arguments:
-      - type: pthread_rwlock_t *
+      - type: pthread_spinlock_t *
   - name: pthread_spin_init
     standards: POSIX
     return_type: int
     arguments:
       - type: pthread_spinlock_t *
       - type: int
-  - name: pthread_spin_destroy
-    standards: POSIX
-    return_type: int
-    arguments:
-      - type: pthread_spinlock_t *
   - name: pthread_spin_lock
     standards: POSIX
     return_type: int
diff --git a/libc/newhdrgen/yaml/sched.yaml b/libc/newhdrgen/yaml/sched.yaml
index eaafa8f27ef083..2d4876b722ab21 100644
--- a/libc/newhdrgen/yaml/sched.yaml
+++ b/libc/newhdrgen/yaml/sched.yaml
@@ -10,6 +10,13 @@ types:
 enums: []
 objects: []
 functions:
+  - name: __sched_getcpucount
+    standards:
+      - llvm_libc_ext
+    return_type: int
+    arguments:
+      - type: size_t
+      - type: const cpu_set_t *
   - name: sched_get_priority_max
     standards:
       - POSIX
@@ -79,10 +86,3 @@ functions:
     return_type: int
     arguments:
       - type: void
-  - name: __sched_getcpucount
-    standards:
-      - llvm_libc_ext
-    return_type: int
-    arguments:
-      - type: size_t
-      - type: const cpu_set_t *
diff --git a/libc/newhdrgen/yaml/search.yaml b/libc/newhdrgen/yaml/search.yaml
index 878b6972e03495..37d2650bcf0514 100644
--- a/libc/newhdrgen/yaml/search.yaml
+++ b/libc/newhdrgen/yaml/search.yaml
@@ -19,6 +19,16 @@ functions:
     arguments:
       - type: size_t
       - type: struct hsearch_data *
+  - name: hdestroy
+    standards: GNUExtensions
+    return_type: void
+    arguments: []
+  - name: hdestroy_r
+    standards:
+      - POSIX
+    return_type: void
+    arguments:
+      - type: struct hsearch_data *
   - name: hsearch
     standards:
       - POSIX
@@ -34,16 +44,6 @@ functions:
       - type: ACTION
       - type: ENTRY * *
       - type: struct hsearch_data *
-  - name: hdestroy
-    standards: GNUExtensions
-    return_type: void
-    arguments: []
-  - name: hdestroy_r
-    standards:
-      - POSIX
-    return_type: void
-    arguments:
-      - type: struct hsearch_data *
   - name: insque
     standards:
       - POSIX
diff --git a/libc/newhdrgen/yaml/signal.yaml b/libc/newhdrgen/yaml/signal.yaml
index 5de89e87453ed5..c66abb1a874418 100644
--- a/libc/newhdrgen/yaml/signal.yaml
+++ b/libc/newhdrgen/yaml/signal.yaml
@@ -11,18 +11,18 @@ types:
 enums: []
 objects: []
 functions:
-  - name: raise
+  - name: kill
     standards:
-      - stdc
+      - POSIX
     return_type: int
     arguments:
+      - type: pid_t
       - type: int
-  - name: kill
+  - name: raise
     standards:
-      - POSIX
+      - stdc
     return_type: int
     arguments:
-      - type: pid_t
       - type: int
   - name: sigaction
     standards:
@@ -32,21 +32,21 @@ functions:
       - type: int
       - type: const struct sigaction *__restrict
       - type: struct sigaction *__restrict
-  - name: sigaltstack
+  - name: sigaddset
     standards:
       - POSIX
     return_type: int
     arguments:
-      - type: const stack_t *__restrict
-      - type: stack_t *__restrict
-  - name: sigdelset
+      - type: sigset_t *
+      - type: int
+  - name: sigaltstack
     standards:
       - POSIX
     return_type: int
     arguments:
-      - type: sigset_t *
-      - type: int
-  - name: sigaddset
+      - type: const stack_t *__restrict
+      - type: stack_t *__restrict
+  - name: sigdelset
     standards:
       - POSIX
     return_type: int
@@ -59,14 +59,6 @@ functions:
     return_type: int
     arguments:
       - type: sigset_t *
-  - name: sigprocmask
-    standards:
-      - POSIX
-    return_type: int
-    arguments:
-      - type: int
-      - type: const sigset_t *__restrict
-      - type: sigset_t *__restrict
   - name: sigfillset
     standards:
       - POSIX
@@ -80,3 +72,11 @@ functions:
     arguments:
       - type: int
       - type: __sighandler_t
+  - name: sigprocmask
+    standards:
+      - POSIX
+    return_type: int
+    arguments:
+      - type: int
+      - type: const sigset_t *__restrict
+      - type: sigset_t *__restrict
diff --git a/libc/newhdrgen/yaml/stdbit.yaml b/libc/newhdrgen/yaml/stdbit.yaml
index 7a5b61973de0a8..25d2d326c30eb9 100644
--- a/libc/newhdrgen/yaml/stdbit.yaml
+++ b/libc/newhdrgen/yaml/stdbit.yaml
@@ -4,168 +4,162 @@ types: []
 enums: []
 objects: []
 functions:
-  - name: stdc_leading_zeros_uc
+  - name: stdc_bit_ceil_uc
     standards:
       - stdc
-    return_type: unsigned int
+    return_type: unsigned char
     arguments:
       - type: unsigned char
-  - name: stdc_leading_zeros_us
-    standards:
-      - stdc
-    return_type: unsigned int
-    arguments:
-      - type: unsigned short
-  - name: stdc_leading_zeros_ui
+  - name: stdc_bit_ceil_ui
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned int
-  - name: stdc_leading_zeros_ul
+  - name: stdc_bit_ceil_ul
     standards:
       - stdc
-    return_type: unsigned int
+    return_type: unsigned long
     arguments:
       - type: unsigned long
-  - name: stdc_leading_zeros_ull
+  - name: stdc_bit_ceil_ull
     standards:
       - stdc
-    return_type: unsigned int
+    return_type: unsigned long long
     arguments:
       - type: unsigned long long
-  - name: stdc_leading_ones_uc
+  - name: stdc_bit_ceil_us
     standards:
       - stdc
-    return_type: unsigned int
+    return_type: unsigned short
     arguments:
-      - type: unsigned char
-  - name: stdc_leading_ones_us
+      - type: unsigned short
+  - name: stdc_bit_floor_uc
     standards:
       - stdc
-    return_type: unsigned int
+    return_type: unsigned char
     arguments:
-      - type: unsigned short
-  - name: stdc_leading_ones_ui
+      - type: unsigned char
+  - name: stdc_bit_floor_ui
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned int
-  - name: stdc_leading_ones_ul
+  - name: stdc_bit_floor_ul
     standards:
       - stdc
-    return_type: unsigned int
+    return_type: unsigned long
     arguments:
       - type: unsigned long
-  - name: stdc_leading_ones_ull
+  - name: stdc_bit_floor_ull
     standards:
       - stdc
-    return_type: unsigned int
+    return_type: unsigned long long
     arguments:
       - type: unsigned long long
-  - name: stdc_trailing_zeros_uc
+  - name: stdc_bit_floor_us
     standards:
       - stdc
-    return_type: unsigned int
+    return_type: unsigned short
     arguments:
-      - type: unsigned char
-  - name: stdc_trailing_zeros_us
+      - type: unsigned short
+  - name: stdc_bit_width_uc
     standards:
       - stdc
     return_type: unsigned int
     arguments:
-      - type: unsigned short
-  - name: stdc_trailing_zeros_ui
+      - type: unsigned char
+  - name: stdc_bit_width_ui
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned int
-  - name: stdc_trailing_zeros_ul
+  - name: stdc_bit_width_ul
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned long
-  - name: stdc_trailing_zeros_ull
+  - name: stdc_bit_width_ull
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned long long
-  - name: stdc_trailing_ones_uc
+  - name: stdc_bit_width_us
     standards:
       - stdc
     return_type: unsigned int
     arguments:
-      - type: unsigned char
-  - name: stdc_trailing_ones_us
+      - type: unsigned short
+  - name: stdc_count_ones_uc
     standards:
       - stdc
     return_type: unsigned int
     arguments:
-      - type: unsigned short
-  - name: stdc_trailing_ones_ui
+      - type: unsigned char
+  - name: stdc_count_ones_ui
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned int
-  - name: stdc_trailing_ones_ul
+  - name: stdc_count_ones_ul
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned long
-  - name: stdc_trailing_ones_ull
+  - name: stdc_count_ones_ull
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned long long
-  - name: stdc_first_leading_zero_uc
+  - name: stdc_count_ones_us
     standards:
       - stdc
     return_type: unsigned int
     arguments:
-      - type: unsigned char
-  - name: stdc_first_leading_zero_us
+      - type: unsigned short
+  - name: stdc_count_zeros_uc
     standards:
       - stdc
     return_type: unsigned int
     arguments:
-      - type: unsigned short
-  - name: stdc_first_leading_zero_ui
+      - type: unsigned char
+  - name: stdc_count_zeros_ui
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned int
-  - name: stdc_first_leading_zero_ul
+  - name: stdc_count_zeros_ul
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned long
-  - name: stdc_first_leading_zero_ull
+  - name: stdc_count_zeros_ull
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned long long
-  - name: stdc_first_leading_one_uc
+  - name: stdc_count_zeros_us
     standards:
       - stdc
     return_type: unsigned int
     arguments:
-      - type: unsigned char
-  - name: stdc_first_leading_one_us
+      - type: unsigned short
+  - name: stdc_first_leading_one_uc
     standards:
       - stdc
     return_type: unsigned int
     arguments:
-      - type: unsigned short
+      - type: unsigned char
   - name: stdc_first_leading_one_ui
     standards:
       - stdc
@@ -184,213 +178,219 @@ functions:
     return_type: unsigned int
     arguments:
       - type: unsigned long long
-  - name: stdc_first_trailing_one_uc
+  - name: stdc_first_leading_one_us
     standards:
       - stdc
     return_type: unsigned int
     arguments:
-      - type: unsigned char
-  - name: stdc_first_trailing_one_us
+      - type: unsigned short
+  - name: stdc_first_leading_zero_uc
     standards:
       - stdc
     return_type: unsigned int
     arguments:
-      - type: unsigned short
-  - name: stdc_first_trailing_one_ui
+      - type: unsigned char
+  - name: stdc_first_leading_zero_ui
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned int
-  - name: stdc_first_trailing_one_ul
+  - name: stdc_first_leading_zero_ul
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned long
-  - name: stdc_first_trailing_one_ull
+  - name: stdc_first_leading_zero_ull
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned long long
-  - name: stdc_count_zeros_uc
+  - name: stdc_first_leading_zero_us
     standards:
       - stdc
     return_type: unsigned int
     arguments:
-      - type: unsigned char
-  - name: stdc_count_zeros_us
+      - type: unsigned short
+  - name: stdc_first_trailing_one_uc
     standards:
       - stdc
     return_type: unsigned int
     arguments:
-      - type: unsigned short
-  - name: stdc_count_zeros_ui
+      - type: unsigned char
+  - name: stdc_first_trailing_one_ui
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned int
-  - name: stdc_count_zeros_ul
+  - name: stdc_first_trailing_one_ul
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned long
-  - name: stdc_count_zeros_ull
+  - name: stdc_first_trailing_one_ull
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned long long
-  - name: stdc_count_ones_uc
+  - name: stdc_first_trailing_one_us
     standards:
       - stdc
     return_type: unsigned int
     arguments:
-      - type: unsigned char
-  - name: stdc_count_ones_us
+      - type: unsigned short
+  - name: stdc_has_single_bit_uc
     standards:
       - stdc
-    return_type: unsigned int
+    return_type: bool
     arguments:
-      - type: unsigned short
-  - name: stdc_count_ones_ui
+      - type: unsigned char
+  - name: stdc_has_single_bit_ui
     standards:
       - stdc
-    return_type: unsigned int
+    return_type: bool
     arguments:
       - type: unsigned int
-  - name: stdc_count_ones_ul
+  - name: stdc_has_single_bit_ul
     standards:
       - stdc
-    return_type: unsigned int
+    return_type: bool
     arguments:
       - type: unsigned long
-  - name: stdc_count_ones_ull
+  - name: stdc_has_single_bit_ull
     standards:
       - stdc
-    return_type: unsigned int
+    return_type: bool
     arguments:
       - type: unsigned long long
-  - name: stdc_has_single_bit_uc
+  - name: stdc_has_single_bit_us
     standards:
       - stdc
     return_type: bool
     arguments:
-      - type: unsigned char
-  - name: stdc_has_single_bit_us
+      - type: unsigned short
+  - name: stdc_leading_ones_uc
     standards:
       - stdc
-    return_type: bool
+    return_type: unsigned int
     arguments:
-      - type: unsigned short
-  - name: stdc_has_single_bit_ui
+      - type: unsigned char
+  - name: stdc_leading_ones_ui
     standards:
       - stdc
-    return_type: bool
+    return_type: unsigned int
     arguments:
       - type: unsigned int
-  - name: stdc_has_single_bit_ul
+  - name: stdc_leading_ones_ul
     standards:
       - stdc
-    return_type: bool
+    return_type: unsigned int
     arguments:
       - type: unsigned long
-  - name: stdc_has_single_bit_ull
+  - name: stdc_leading_ones_ull
     standards:
       - stdc
-    return_type: bool
+    return_type: unsigned int
     arguments:
       - type: unsigned long long
-  - name: stdc_bit_width_uc
+  - name: stdc_leading_ones_us
     standards:
       - stdc
     return_type: unsigned int
     arguments:
-      - type: unsigned char
-  - name: stdc_bit_width_us
+      - type: unsigned short
+  - name: stdc_leading_zeros_uc
     standards:
       - stdc
     return_type: unsigned int
     arguments:
-      - type: unsigned short
-  - name: stdc_bit_width_ui
+      - type: unsigned char
+  - name: stdc_leading_zeros_ui
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned int
-  - name: stdc_bit_width_ul
+  - name: stdc_leading_zeros_ul
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned long
-  - name: stdc_bit_width_ull
+  - name: stdc_leading_zeros_ull
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned long long
-  - name: stdc_bit_floor_uc
+  - name: stdc_leading_zeros_us
     standards:
       - stdc
-    return_type: unsigned char
+    return_type: unsigned int
     arguments:
-      - type: unsigned char
-  - name: stdc_bit_floor_us
+      - type: unsigned short
+  - name: stdc_trailing_ones_uc
     standards:
       - stdc
-    return_type: unsigned short
+    return_type: unsigned int
     arguments:
-      - type: unsigned short
-  - name: stdc_bit_floor_ui
+      - type: unsigned char
+  - name: stdc_trailing_ones_ui
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned int
-  - name: stdc_bit_floor_ul
+  - name: stdc_trailing_ones_ul
     standards:
       - stdc
-    return_type: unsigned long
+    return_type: unsigned int
     arguments:
       - type: unsigned long
-  - name: stdc_bit_floor_ull
+  - name: stdc_trailing_ones_ull
     standards:
       - stdc
-    return_type: unsigned long long
+    return_type: unsigned int
     arguments:
       - type: unsigned long long
-  - name: stdc_bit_ceil_uc
+  - name: stdc_trailing_ones_us
     standards:
       - stdc
-    return_type: unsigned char
+    return_type: unsigned int
     arguments:
-      - type: unsigned char
-  - name: stdc_bit_ceil_us
+      - type: unsigned short
+  - name: stdc_trailing_zeros_uc
     standards:
       - stdc
-    return_type: unsigned short
+    return_type: unsigned int
     arguments:
-      - type: unsigned short
-  - name: stdc_bit_ceil_ui
+      - type: unsigned char
+  - name: stdc_trailing_zeros_ui
     standards:
       - stdc
     return_type: unsigned int
     arguments:
       - type: unsigned int
-  - name: stdc_bit_ceil_ul
+  - name: stdc_trailing_zeros_ul
     standards:
       - stdc
-    return_type: unsigned long
+    return_type: unsigned int
     arguments:
       - type: unsigned long
-  - name: stdc_bit_ceil_ull
+  - name: stdc_trailing_zeros_ull
     standards:
       - stdc
-    return_type: unsigned long long
+    return_type: unsigned int
     arguments:
       - type: unsigned long long
+  - name: stdc_trailing_zeros_us
+    standards:
+      - stdc
+    return_type: unsigned int
+    arguments:
+      - type: unsigned short
diff --git a/libc/newhdrgen/yaml/stdfix.yaml b/libc/newhdrgen/yaml/stdfix.yaml
index 339c6aaae296f3..ca6658939e2278 100644
--- a/libc/newhdrgen/yaml/stdfix.yaml
+++ b/libc/newhdrgen/yaml/stdfix.yaml
@@ -25,13 +25,6 @@ functions:
     arguments:
       - type: accum
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-  - name: absr
-    standards:
-      - stdc_ext
-    return_type: fract
-    arguments:
-      - type: fract
-    guard: LIBC_COMPILER_HAS_FIXED_POINT
   - name: abslk
     standards:
       - stdc_ext
@@ -46,6 +39,13 @@ functions:
     arguments:
       - type: long fract
     guard: LIBC_COMPILER_HAS_FIXED_POINT
+  - name: absr
+    standards:
+      - stdc_ext
+    return_type: fract
+    arguments:
+      - type: fract
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
   - name: exphk
     standards:
       - stdc_ext
@@ -86,14 +86,6 @@ functions:
       - type: accum
       - type: int
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-  - name: roundr
-    standards:
-      - stdc_ext
-    return_type: fract
-    arguments:
-      - type: fract
-      - type: int
-    guard: LIBC_COMPILER_HAS_FIXED_POINT
   - name: roundlk
     standards:
       - stdc_ext
@@ -110,6 +102,14 @@ functions:
       - type: long fract
       - type: int
     guard: LIBC_COMPILER_HAS_FIXED_POINT
+  - name: roundr
+    standards:
+      - stdc_ext
+    return_type: fract
+    arguments:
+      - type: fract
+      - type: int
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
   - name: rounduhk
     standards:
       - stdc_ext
@@ -134,14 +134,6 @@ functions:
       - type: unsigned accum
       - type: int
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-  - name: roundur
-    standards:
-      - stdc_ext
-    return_type: unsigned fract
-    arguments:
-      - type: unsigned fract
-      - type: int
-    guard: LIBC_COMPILER_HAS_FIXED_POINT
   - name: roundulk
     standards:
       - stdc_ext
@@ -158,6 +150,14 @@ functions:
       - type: unsigned long fract
       - type: int
     guard: LIBC_COMPILER_HAS_FIXED_POINT
+  - name: roundur
+    standards:
+      - stdc_ext
+    return_type: unsigned fract
+    arguments:
+      - type: unsigned fract
+      - type: int
+    guard: LIBC_COMPILER_HAS_FIXED_POINT
   - name: sqrtuhk
     standards:
       - stdc_ext
@@ -182,27 +182,27 @@ functions:
     arguments:
       - type: unsigned accum
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-  - name: sqrtur
-    standards:
-      - stdc_ext
-      - llvm_libc_stdfix_ext
-    return_type: unsigned fract
+  - name: sqrtulk
+    standards: llvm_libc_stdfix_ext
+    return_type: unsigned long accum
     arguments:
-      - type: unsigned fract
+      - type: unsigned long accum
     guard: LIBC_COMPILER_HAS_FIXED_POINT
   - name: sqrtulr
     standards:
-      - stdc_ext 
+      - stdc_ext
       - llvm_libc_stdfix_ext
     return_type: unsigned long fract
     arguments:
       - type: unsigned long fract
     guard: LIBC_COMPILER_HAS_FIXED_POINT
-  - name: sqrtulk
-    standards: llvm_libc_stdfix_ext
-    return_type: unsigned long accum
+  - name: sqrtur
+    standards:
+      - stdc_ext
+      - llvm_libc_stdfix_ext
+    return_type: unsigned fract
     arguments:
-      - type: unsigned long accum
+      - type: unsigned fract
     guard: LIBC_COMPILER_HAS_FIXED_POINT
   - name: uhksqrtus
     standards:
diff --git a/libc/newhdrgen/yaml/stdio.yaml b/libc/newhdrgen/yaml/stdio.yaml
index 776e9ae30f4743..43438699b58409 100644
--- a/libc/newhdrgen/yaml/stdio.yaml
+++ b/libc/newhdrgen/yaml/stdio.yaml
@@ -20,143 +20,14 @@ objects:
   - object_name: stderr
     object_type: FILE *
 functions:
-  - name: remove
+  - name: asprintf
     standards:
-      - stdc
-    return_type: int
-    arguments:
-      - type: const char *
-  - name: rename
-    standards:
-      - stdc
-    return_type: int
-    arguments:
-      - type: const char *
-      - type: const char *
-  - name: sprintf
-    standards:
-      - stdc
-    return_type: int
-    arguments:
-      - type: char *__restrict
-      - type: const char *__restrict
-      - type: ...
-  - name: snprintf
-    standards:
-      - stdc
-    return_type: int
-    arguments:
-      - type: char *__restrict
-      - type: size_t
-      - type: const char *__restrict
-      - type: ...
-  - name: fprintf
-    standards:
-      - stdc
-    return_type: int
-    arguments:
-      - type: FILE *__restrict
-      - type: const char *__restrict
-      - type: ...
-  - name: printf
-    standards:
-      - stdc
-    return_type: int
-    arguments:
-      - type: const char *__restrict
-      - type: ...
-  - name: vsprintf
-    standards:
-      - stdc
-    return_type: int
-    arguments:
-      - type: char *__restrict
-      - type: const char *__restrict
-      - type: va_list
-  - name: vsnprintf
-    standards:
-      - stdc
-    return_type: int
-    arguments:
-      - type: char *__restrict
-      - type: size_t
-      - type: const char *__restrict
-      - type: va_list
-  - name: vfprintf
-    standards:
-      - stdc
-    return_type: int
-    arguments:
-      - type: FILE *__restrict
-      - type: const char *__restrict
-      - type: va_list
-  - name: vprintf
-    standards:
-      - stdc
-    return_type: int
-    arguments:
-      - type: const char *__restrict
-      - type: va_list
-  - name: asprintf 
-    standards:
-      - GNUExtensions 
-    return_type: int 
-    arguments: 
-      - type: char **__restrict 
-      - type: const char *__restrict 
-      - type: ... 
-  - name: vasprintf 
-    standards:
-      - GNUExtensions 
-    return_type: int 
-    arguments: 
-      - type: char **__restrict 
-      - type: const char *__restrict 
-      - type: va_list
-  - name: sscanf
-    standards:
-      - stdc
-    return_type: int
-    arguments:
-      - type: const char *__restrict
-      - type: const char *__restrict
-      - type: ...
-  - name: vsscanf
-    standards:
-      - stdc
-    return_type: int
-    arguments:
-      - type: const char *__restrict
-      - type: const char *__restrict
-      - type: va_list
-  - name: scanf
-    standards:
-      - stdc
-    return_type: int
-    arguments:
-      - type: const char *__restrict
-      - type: ...
-  - name: fscanf
-    standards:
-      - stdc
+      - GNUExtensions
     return_type: int
     arguments:
-      - type: FILE *__restrict
+      - type: char **__restrict
       - type: const char *__restrict
-      - type: ...
-  - name: fileno
-    standards:
-      - POSIX
-    return_type: int
-    arguments:
-      - type: FILE *
-  - name: fdopen
-    standards:
-      - POSIX
-    return_type: FILE *
-    arguments:
-      - type: int
-      - type: const char *
+      - type: '...'
   - name: clearerr
     standards:
       - stdc
@@ -175,12 +46,13 @@ functions:
     return_type: int
     arguments:
       - type: FILE *
-  - name: flockfile
+  - name: fdopen
     standards:
       - POSIX
-    return_type: void
+    return_type: FILE *
     arguments:
-      - type: FILE *
+      - type: int
+      - type: const char *
   - name: feof
     standards:
       - stdc
@@ -205,6 +77,12 @@ functions:
     return_type: int
     arguments:
       - type: FILE *
+  - name: fflush
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: FILE *
   - name: fgetc
     standards:
       - stdc
@@ -225,12 +103,18 @@ functions:
       - type: char *__restrict
       - type: int
       - type: FILE *__restrict
-  - name: fflush
+  - name: fileno
     standards:
-      - stdc
+      - POSIX
     return_type: int
     arguments:
       - type: FILE *
+  - name: flockfile
+    standards:
+      - POSIX
+    return_type: void
+    arguments:
+      - type: FILE *
   - name: fopen
     standards:
       - stdc
@@ -238,6 +122,22 @@ functions:
     arguments:
       - type: const char *
       - type: const char *
+  - name: fopencookie
+    standards:
+      - GNUExtensions
+    return_type: FILE *
+    arguments:
+      - type: void *
+      - type: const char *
+      - type: cookie_io_functions_t
+  - name: fprintf
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: FILE *__restrict
+      - type: const char *__restrict
+      - type: '...'
   - name: fputc
     standards:
       - stdc
@@ -252,14 +152,6 @@ functions:
     arguments:
       - type: const char *__restrict
       - type: FILE *__restrict
-  - name: fopencookie
-    standards:
-      - GNUExtensions
-    return_type: FILE *
-    arguments:
-      - type: void *
-      - type: const char *
-      - type: cookie_io_functions_t
   - name: fread
     standards:
       - stdc
@@ -278,6 +170,14 @@ functions:
       - type: size_t
       - type: size_t
       - type: FILE *__restrict
+  - name: fscanf
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: FILE *__restrict
+      - type: const char *__restrict
+      - type: '...'
   - name: fseek
     standards:
       - stdc
@@ -338,6 +238,13 @@ functions:
       - POSIX
     return_type: int
     arguments: []
+  - name: printf
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char *__restrict
+      - type: '...'
   - name: putc
     standards:
       - stdc
@@ -357,6 +264,26 @@ functions:
     return_type: int
     arguments:
       - type: const char *
+  - name: remove
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char *
+  - name: rename
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char *
+      - type: const char *
+  - name: scanf
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char *__restrict
+      - type: '...'
   - name: setbuf
     standards:
       - stdc
@@ -373,6 +300,31 @@ functions:
       - type: char *__restrict
       - type: int
       - type: size_t
+  - name: snprintf
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: char *__restrict
+      - type: size_t
+      - type: const char *__restrict
+      - type: '...'
+  - name: sprintf
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: char *__restrict
+      - type: const char *__restrict
+      - type: '...'
+  - name: sscanf
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char *__restrict
+      - type: const char *__restrict
+      - type: '...'
   - name: ungetc
     standards:
       - stdc
@@ -380,3 +332,51 @@ functions:
     arguments:
       - type: int
       - type: FILE *
+  - name: vasprintf
+    standards:
+      - GNUExtensions
+    return_type: int
+    arguments:
+      - type: char **__restrict
+      - type: const char *__restrict
+      - type: va_list
+  - name: vfprintf
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: FILE *__restrict
+      - type: const char *__restrict
+      - type: va_list
+  - name: vprintf
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char *__restrict
+      - type: va_list
+  - name: vsnprintf
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: char *__restrict
+      - type: size_t
+      - type: const char *__restrict
+      - type: va_list
+  - name: vsprintf
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: char *__restrict
+      - type: const char *__restrict
+      - type: va_list
+  - name: vsscanf
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char *__restrict
+      - type: const char *__restrict
+      - type: va_list
diff --git a/libc/newhdrgen/yaml/stdlib.yaml b/libc/newhdrgen/yaml/stdlib.yaml
index ac5e2260e9829c..081da5391c3a52 100644
--- a/libc/newhdrgen/yaml/stdlib.yaml
+++ b/libc/newhdrgen/yaml/stdlib.yaml
@@ -14,24 +14,55 @@ types:
 enums: []
 objects: []
 functions:
+  - name: _Exit
+    standards:
+      - stdc
+    return_type: _Noreturn void
+    arguments:
+      - type: int
+  - name: abort
+    standards:
+      - stdc
+    return_type: _Noreturn void
+    arguments:
+      - type: void
   - name: abs
     standards:
       - stdc
     return_type: int
     arguments:
       - type: int
-  - name: atoi
+  - name: aligned_alloc
+    standards:
+      - stdc
+    return_type: void *
+    arguments:
+      - type: size_t
+      - type: size_t
+  - name: at_quick_exit
     standards:
       - stdc
     return_type: int
     arguments:
-      - type: const char *
+      - type: __atexithandler_t
+  - name: atexit
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: __atexithandler_t
   - name: atof
     standards:
       - stdc
     return_type: double
     arguments:
       - type: const char *__restrict
+  - name: atoi
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: const char *
   - name: atol
     standards:
       - stdc
@@ -54,6 +85,13 @@ functions:
       - type: size_t
       - type: size_t
       - type: __bsearchcompare_t
+  - name: calloc
+    standards:
+      - stdc
+    return_type: void *
+    arguments:
+      - type: size_t
+      - type: size_t
   - name: div
     standards:
       - stdc
@@ -61,6 +99,24 @@ functions:
     arguments:
       - type: int
       - type: int
+  - name: exit
+    standards:
+      - stdc
+    return_type: _Noreturn void
+    arguments:
+      - type: int
+  - name: free
+    standards:
+      - stdc
+    return_type: void
+    arguments:
+      - type: void *
+  - name: getenv
+    standards:
+      - stdc
+    return_type: char *
+    arguments:
+      - type: const char *
   - name: labs
     standards:
       - stdc
@@ -87,6 +143,12 @@ functions:
     arguments:
       - type: long long
       - type: long long
+  - name: malloc
+    standards:
+      - stdc
+    return_type: void *
+    arguments:
+      - type: size_t
   - name: qsort
     standards:
       - stdc
@@ -106,12 +168,25 @@ functions:
       - type: size_t
       - type: __qsortrcompare_t
       - type: void *
+  - name: quick_exit
+    standards:
+      - stdc
+    return_type: _Noreturn void
+    arguments:
+      - type: int
   - name: rand
     standards:
       - stdc
     return_type: int
     arguments:
       - type: void
+  - name: realloc
+    standards:
+      - stdc
+    return_type: void *
+    arguments:
+      - type: void *
+      - type: size_t
   - name: srand
     standards:
       - stdc
@@ -198,78 +273,3 @@ functions:
       - type: const char *__restrict
       - type: char **__restrict
       - type: int
-  - name: malloc
-    standards:
-      - stdc
-    return_type: void *
-    arguments:
-      - type: size_t
-  - name: calloc
-    standards:
-      - stdc
-    return_type: void *
-    arguments:
-      - type: size_t
-      - type: size_t
-  - name: realloc
-    standards:
-      - stdc
-    return_type: void *
-    arguments:
-      - type: void *
-      - type: size_t
-  - name: aligned_alloc
-    standards:
-      - stdc
-    return_type: void *
-    arguments:
-      - type: size_t
-      - type: size_t
-  - name: free
-    standards:
-      - stdc
-    return_type: void
-    arguments:
-      - type: void *
-  - name: _Exit
-    standards:
-      - stdc
-    return_type: _Noreturn void
-    arguments:
-      - type: int
-  - name: abort
-    standards:
-      - stdc
-    return_type: _Noreturn void
-    arguments:
-      - type: void
-  - name: at_quick_exit
-    standards:
-      - stdc
-    return_type: int
-    arguments:
-      - type: __atexithandler_t
-  - name: atexit
-    standards:
-      - stdc
-    return_type: int
-    arguments:
-      - type: __atexithandler_t
-  - name: exit
-    standards:
-      - stdc
-    return_type: _Noreturn void
-    arguments:
-      - type: int
-  - name: getenv
-    standards:
-      - stdc
-    return_type: char *
-    arguments:
-      - type: const char *
-  - name: quick_exit
-    standards:
-      - stdc
-    return_type: _Noreturn void
-    arguments:
-      - type: int
diff --git a/libc/newhdrgen/yaml/string.yaml b/libc/newhdrgen/yaml/string.yaml
index 3287c8bdb6ccb6..387ea9ec4e1422 100644
--- a/libc/newhdrgen/yaml/string.yaml
+++ b/libc/newhdrgen/yaml/string.yaml
@@ -5,21 +5,22 @@ types:
 enums: []
 objects: []
 functions:
-  - name: memcpy
+  - name: memccpy
     standards:
-      - stdc
+      - POSIX
     return_type: void *
     arguments:
       - type: void *__restrict
       - type: const void *__restrict
+      - type: int
       - type: size_t
-  - name: memmove
+  - name: memchr
     standards:
       - stdc
     return_type: void *
     arguments:
-      - type: void *
       - type: const void *
+      - type: int
       - type: size_t
   - name: memcmp
     standards:
@@ -29,10 +30,43 @@ functions:
       - type: const void *
       - type: const void *
       - type: size_t
-  - name: memchr
+  - name: memcpy
+    standards:
+      - stdc
+    return_type: void *
+    arguments:
+      - type: void *__restrict
+      - type: const void *__restrict
+      - type: size_t
+  - name: memmem
+    standards:
+      - GNUExtensions
+    return_type: void *
+    arguments:
+      - type: const void *
+      - type: size_t
+      - type: const void *
+      - type: size_t
+  - name: memmove
     standards:
       - stdc
     return_type: void *
+    arguments:
+      - type: void *
+      - type: const void *
+      - type: size_t
+  - name: mempcpy
+    standards:
+      - POSIX
+    return_type: void *
+    arguments:
+      - type: void *__restrict
+      - type: const void *__restrict
+      - type: size_t
+  - name: memrchr
+    standards:
+      - GNUExtensions
+    return_type: void *
     arguments:
       - type: const void *
       - type: int
@@ -53,21 +87,28 @@ functions:
       - type: void *
       - type: int
       - type: size_t
-  - name: strcpy
+  - name: stpcpy
     standards:
-      - stdc
+      - POSIX
     return_type: char *
     arguments:
       - type: char *__restrict
       - type: const char *__restrict
-  - name: strncpy
+  - name: stpncpy
     standards:
-      - stdc
+      - POSIX
     return_type: char *
     arguments:
       - type: char *__restrict
       - type: const char *__restrict
       - type: size_t
+  - name: strcasestr
+    standards:
+      - GNUExtensions
+    return_type: char *
+    arguments:
+      - type: const char *
+      - type: const char *
   - name: strcat
     standards:
       - stdc
@@ -75,51 +116,41 @@ functions:
     arguments:
       - type: char *__restrict
       - type: const char *__restrict
-  - name: strncat
+  - name: strchr
     standards:
       - stdc
     return_type: char *
     arguments:
-      - type: char *
       - type: const char *
-      - type: size_t
-  - name: strcmp
+      - type: int
+  - name: strchrnul
     standards:
-      - stdc
-    return_type: int
+      - GNUExtensions
+    return_type: char *
     arguments:
       - type: const char *
-      - type: const char *
-  - name: strcoll
+      - type: int
+  - name: strcmp
     standards:
       - stdc
     return_type: int
     arguments:
       - type: const char *
       - type: const char *
-  - name: strncmp
+  - name: strcoll
     standards:
       - stdc
     return_type: int
     arguments:
       - type: const char *
       - type: const char *
-      - type: size_t
-  - name: strxfrm
+  - name: strcpy
     standards:
       - stdc
-    return_type: size_t
+    return_type: char *
     arguments:
       - type: char *__restrict
       - type: const char *__restrict
-      - type: size_t
-  - name: strchr
-    standards:
-      - stdc
-    return_type: char *
-    arguments:
-      - type: const char *
-      - type: int
   - name: strcspn
     standards:
       - stdc
@@ -131,91 +162,72 @@ functions:
     return_type: char *
     arguments:
       - type: const char *
-  - name: strndup
-    standards:
-      - stdc
-    return_type: char *
-    arguments:
-      - type: const char *
-      - type: size_t
-  - name: strpbrk
+  - name: strerror
     standards:
       - stdc
     return_type: char *
     arguments:
-      - type: const char *
-      - type: const char *
-  - name: strrchr
+      - type: int
+  - name: strerror_r
     standards:
-      - stdc
+      - GNUExtensions
     return_type: char *
     arguments:
-      - type: const char *
       - type: int
-  - name: strspn
+      - type: char *
+      - type: size_t
+  - name: strlcat
     standards:
-      - stdc
+      - BSDExtensions
     return_type: size_t
     arguments:
-      - type: const char *
-      - type: const char *
-  - name: strstr
-    standards:
-      - stdc
-    return_type: char *
-    arguments:
-      - type: const char *
-      - type: const char *
-  - name: strtok
-    standards:
-      - stdc
-    return_type: char *
-    arguments:
-      - type: char *__restrict
       - type: const char *__restrict
-  - name: strerror
+      - type: const char *__restrict
+      - type: size_t
+  - name: strlcpy
     standards:
-      - stdc
-    return_type: char *
+      - BSDExtensions
+    return_type: size_t
     arguments:
-      - type: int
+      - type: const char *__restrict
+      - type: const char *__restrict
+      - type: size_t
   - name: strlen
     standards:
       - stdc
     return_type: size_t
     arguments:
       - type: const char *
-  - name: memccpy
+  - name: strncat
     standards:
-      - POSIX
-    return_type: void *
+      - stdc
+    return_type: char *
     arguments:
-      - type: void *__restrict
-      - type: const void *__restrict
-      - type: int
+      - type: char *
+      - type: const char *
       - type: size_t
-  - name: mempcpy
+  - name: strncmp
     standards:
-      - POSIX
-    return_type: void *
+      - stdc
+    return_type: int
     arguments:
-      - type: void *__restrict
-      - type: const void *__restrict
+      - type: const char *
+      - type: const char *
       - type: size_t
-  - name: stpcpy
+  - name: strncpy
     standards:
-      - POSIX
+      - stdc
     return_type: char *
     arguments:
       - type: char *__restrict
       - type: const char *__restrict
-  - name: stpncpy
+      - type: size_t
+  - name: strndup
     standards:
-      - POSIX
+      - stdc
     return_type: char *
     arguments:
-      - type: char *__restrict
-      - type: const char *__restrict
+      - type: const char *
       - type: size_t
   - name: strnlen
     standards:
@@ -224,79 +236,67 @@ functions:
     arguments:
       - type: const char *
       - type: size_t
-  - name: strtok_r
+  - name: strpbrk
     standards:
-      - POSIX
+      - stdc
     return_type: char *
     arguments:
-      - type: char *__restrict
-      - type: const char *__restrict
-      - type: char ** __restrict
-  - name: strsignal
+      - type: const char *
+      - type: const char *
+  - name: strrchr
     standards:
-      - POSIX
+      - stdc
     return_type: char *
     arguments:
+      - type: const char *
       - type: int
-  - name: memmem
-    standards:
-      - GNUExtensions
-    return_type: void *
-    arguments:
-      - type: const void *
-      - type: size_t
-      - type: const void *
-      - type: size_t
-  - name: memrchr
+  - name: strsep
     standards:
-      - GNUExtensions
-    return_type: void *
+      - BSDExtensions
+    return_type: char *
     arguments:
-      - type: const void *
-      - type: int
-      - type: size_t
-  - name: strerror_r
+      - type: char **__restrict
+      - type: const char *__restrict
+  - name: strsignal
     standards:
-      - GNUExtensions
+      - POSIX
     return_type: char *
     arguments:
       - type: int
-      - type: char *
-      - type: size_t
-  - name: strcasestr
+  - name: strspn
     standards:
-      - GNUExtensions
-    return_type: char *
+      - stdc
+    return_type: size_t
     arguments:
       - type: const char *
       - type: const char *
-  - name: strchrnul
+  - name: strstr
     standards:
-      - GNUExtensions
+      - stdc
     return_type: char *
     arguments:
       - type: const char *
-      - type: int
-  - name: strlcat
+      - type: const char *
+  - name: strtok
     standards:
-      - BSDExtensions
-    return_type: size_t
+      - stdc
+    return_type: char *
     arguments:
+      - type: char *__restrict
       - type: const char *__restrict
-      - type: const char *__restrict
-      - type: size_t
-  - name: strlcpy
+  - name: strtok_r
     standards:
-      - BSDExtensions
-    return_type: size_t
+      - POSIX
+    return_type: char *
     arguments:
+      - type: char *__restrict
       - type: const char *__restrict
-      - type: const char *__restrict
-      - type: size_t
-  - name: strsep
+      - type: char ** __restrict
+  - name: strxfrm
     standards:
-      - BSDExtensions
-    return_type: char *
+      - stdc
+    return_type: size_t
     arguments:
-      - type: char **__restrict
+      - type: char *__restrict
       - type: const char *__restrict
+      - type: size_t
diff --git a/libc/newhdrgen/yaml/strings.yaml b/libc/newhdrgen/yaml/strings.yaml
index eda8a5ae1bb90f..ca91b626740c12 100644
--- a/libc/newhdrgen/yaml/strings.yaml
+++ b/libc/newhdrgen/yaml/strings.yaml
@@ -4,6 +4,14 @@ types: []
 enums: []
 objects: []
 functions:
+  - name: bcmp
+    standards:
+      - llvm_libc_ext
+    return_type: int
+    arguments:
+      - type: const void *
+      - type: const void *
+      - type: size_t
   - name: bcopy
     standards:
       - llvm_libc_ext
@@ -19,40 +27,32 @@ functions:
     arguments:
       - type: void *
       - type: size_t
-  - name: bcmp
+  - name: index
     standards:
-      - llvm_libc_ext
-    return_type: int
+      - BSDExtensions
+    return_type: char *
     arguments:
-      - type: const void *
-      - type: const void *
-      - type: size_t
-  - name: strcasecmp
+      - type: const char *
+      - type: int
+  - name: rindex
     standards:
       - BSDExtensions
-    return_type: int
+    return_type: char *
     arguments:
       - type: const char *
-      - type: const char *
-  - name: strncasecmp
+      - type: int
+  - name: strcasecmp
     standards:
       - BSDExtensions
     return_type: int
     arguments:
       - type: const char *
       - type: const char *
-      - type: size_t
-  - name: index
+  - name: strncasecmp
     standards:
       - BSDExtensions
-    return_type: char *
+    return_type: int
     arguments:
       - type: const char *
-      - type: int
-  - name: rindex
-    standards:
-      - BSDExtensions
-    return_type: char *
-    arguments:
       - type: const char *
-      - type: int
+      - type: size_t
diff --git a/libc/newhdrgen/yaml/sys/epoll.yaml b/libc/newhdrgen/yaml/sys/epoll.yaml
index 3b55ce4f24d494..ee188c17fedc63 100644
--- a/libc/newhdrgen/yaml/sys/epoll.yaml
+++ b/libc/newhdrgen/yaml/sys/epoll.yaml
@@ -29,7 +29,7 @@ functions:
       - type: int
       - type: int
       - type: struct epoll_event *
-  - name: epoll_wait
+  - name: epoll_pwait
     standards:
       - Linux
     return_type: int
@@ -38,7 +38,8 @@ functions:
       - type: struct epoll_event *
       - type: int
       - type: int
-  - name: epoll_pwait
+      - type: const sigset_t *
+  - name: epoll_pwait2
     standards:
       - Linux
     return_type: int
@@ -46,9 +47,9 @@ functions:
       - type: int
       - type: struct epoll_event *
       - type: int
-      - type: int
+      - type: const struct timespec *
       - type: const sigset_t *
-  - name: epoll_pwait2
+  - name: epoll_wait
     standards:
       - Linux
     return_type: int
@@ -56,5 +57,4 @@ functions:
       - type: int
       - type: struct epoll_event *
       - type: int
-      - type: const struct timespec *
-      - type: const sigset_t *
+      - type: int
diff --git a/libc/newhdrgen/yaml/sys/mman.yaml b/libc/newhdrgen/yaml/sys/mman.yaml
index efddcaf071b673..272e7e2af16aaf 100644
--- a/libc/newhdrgen/yaml/sys/mman.yaml
+++ b/libc/newhdrgen/yaml/sys/mman.yaml
@@ -15,82 +15,82 @@ functions:
       - type: void *
       - type: size_t
       - type: int
-  - name: mmap
+  - name: mincore
     standards:
-      - POSIX
-    return_type: void *
+      - Linux
+    return_type: int
     arguments:
       - type: void *
       - type: size_t
-      - type: int
-      - type: int
-      - type: int
-      - type: off_t
-  - name: mprotect
+      - type: unsigned char *
+  - name: mlock
     standards:
       - POSIX
     return_type: int
     arguments:
       - type: void *
       - type: size_t
-      - type: int
-  - name: munmap
+  - name: mlock2
     standards:
-      - POSIX
+      - Linux
     return_type: int
     arguments:
       - type: void *
       - type: size_t
-  - name: posix_madvise
+      - type: unsigned int
+  - name: mlockall
     standards:
       - POSIX
     return_type: int
     arguments:
-      - type: void *
-      - type: size_t
       - type: int
-  - name: mincore
+  - name: mmap
     standards:
-      - Linux
-    return_type: int
+      - POSIX
+    return_type: void *
     arguments:
       - type: void *
       - type: size_t
-      - type: unsigned char *
-  - name: mlock
+      - type: int
+      - type: int
+      - type: int
+      - type: off_t
+  - name: mprotect
     standards:
       - POSIX
     return_type: int
     arguments:
       - type: void *
       - type: size_t
-  - name: mlock2
+      - type: int
+  - name: msync
     standards:
-      - Linux
+      - POSIX
     return_type: int
     arguments:
       - type: void *
       - type: size_t
-      - type: unsigned int
+      - type: int
   - name: munlock
     standards: POSIX
     return_type: int
     arguments:
       - type: void *
       - type: size_t
-  - name: mlockall
+  - name: munlockall
     standards:
       - POSIX
     return_type: int
     arguments:
-      - type: int
-  - name: munlockall
+      - type: void
+  - name: munmap
     standards:
       - POSIX
     return_type: int
     arguments:
-      - type: void
-  - name: msync
+      - type: void *
+      - type: size_t
+  - name: posix_madvise
     standards:
       - POSIX
     return_type: int
diff --git a/libc/newhdrgen/yaml/sys/socket.yaml b/libc/newhdrgen/yaml/sys/socket.yaml
index 06ffa295a17f0d..3b8bf4cecfe5aa 100644
--- a/libc/newhdrgen/yaml/sys/socket.yaml
+++ b/libc/newhdrgen/yaml/sys/socket.yaml
@@ -8,19 +8,19 @@ types:
 enums: []
 objects: []
 functions:
-  - name: socket
+  - name: bind
     standards:
       - POSIX
     return_type: int
     arguments:
       - type: int
-      - type: int
-      - type: int
-  - name: bind
+      - type: const struct sockaddr *
+      - type: socklen_t
+  - name: socket
     standards:
       - POSIX
     return_type: int
     arguments:
       - type: int
-      - type: const struct sockaddr *
-      - type: socklen_t
+      - type: int
+      - type: int
diff --git a/libc/newhdrgen/yaml/sys/statvfs.yaml b/libc/newhdrgen/yaml/sys/statvfs.yaml
index 952ee88c82e9da..22e0ef22c4139b 100644
--- a/libc/newhdrgen/yaml/sys/statvfs.yaml
+++ b/libc/newhdrgen/yaml/sys/statvfs.yaml
@@ -7,17 +7,17 @@ types:
 enums: []
 objects: []
 functions:
-  - name: statvfs
+  - name: fstatvfs
     standards:
       - POSIX
     return_type: int
     arguments:
-      - type: const char *__restrict
-      - type: struct statvfs *__restrict
-  - name: fstatvfs
+      - type: int
+      - type: struct statvfs *
+  - name: statvfs
     standards:
       - POSIX
     return_type: int
     arguments:
-      - type: int
-      - type: struct statvfs *
+      - type: const char *__restrict
+      - type: struct statvfs *__restrict
diff --git a/libc/newhdrgen/yaml/termios.yaml b/libc/newhdrgen/yaml/termios.yaml
index 7e4a0ff1d6a181..e9c4cd375d0b9f 100644
--- a/libc/newhdrgen/yaml/termios.yaml
+++ b/libc/newhdrgen/yaml/termios.yaml
@@ -35,39 +35,39 @@ functions:
     arguments:
       - type: struct termios *
       - type: speed_t
-  - name: tcgetattr
+  - name: tcdrain
     standards:
       - POSIX
     return_type: int
     arguments:
       - type: int
-      - type: struct termios *
-  - name: tcgetsid
+  - name: tcflow
     standards:
       - POSIX
-    return_type: pid_t
+    return_type: int
     arguments:
       - type: int
-  - name: tcdrain
+      - type: int
+  - name: tcflush
     standards:
       - POSIX
     return_type: int
     arguments:
       - type: int
-  - name: tcflow
+      - type: int
+  - name: tcgetattr
     standards:
       - POSIX
     return_type: int
     arguments:
       - type: int
-      - type: int
-  - name: tcflush
+      - type: struct termios *
+  - name: tcgetsid
     standards:
       - POSIX
-    return_type: int
+    return_type: pid_t
     arguments:
       - type: int
-      - type: int
   - name: tcsendbreak
     standards:
       - POSIX
diff --git a/libc/newhdrgen/yaml/threads.yaml b/libc/newhdrgen/yaml/threads.yaml
index cceb48df6a723d..aadcaf5f66e06e 100644
--- a/libc/newhdrgen/yaml/threads.yaml
+++ b/libc/newhdrgen/yaml/threads.yaml
@@ -1,7 +1,7 @@
 header: threads.h
 macros:
   - macro_name: ONCE_FLAG_INIT
-    macro_value: "{0}"
+    macro_value: '{0}'
 types:
   - type_name: once_flag
   - type_name: __call_once_func_t
@@ -68,19 +68,19 @@ functions:
     arguments:
       - type: cnd_t *
       - type: mtx_t *
-  - name: mtx_init
+  - name: mtx_destroy
     standards:
       - stdc
     return_type: int
     arguments:
-      - type: mtx_t *
-      - type: int
-  - name: mtx_destroy
+      - type: void
+  - name: mtx_init
     standards:
       - stdc
     return_type: int
     arguments:
-      - type: void
+      - type: mtx_t *
+      - type: int
   - name: mtx_lock
     standards:
       - stdc
@@ -101,25 +101,18 @@ functions:
       - type: thrd_t *
       - type: thrd_start_t
       - type: void *
-  - name: thrd_join
+  - name: thrd_current
     standards:
       - stdc
-    return_type: int
+    return_type: thrd_t
     arguments:
-      - type: thrd_t
-      - type: int *
+      - type: void
   - name: thrd_detach
     standards:
       - stdc
     return_type: int
     arguments:
       - type: thrd_t
-  - name: thrd_current
-    standards:
-      - stdc
-    return_type: thrd_t
-    arguments:
-      - type: void
   - name: thrd_equal
     standards:
       - stdc
@@ -133,6 +126,13 @@ functions:
     return_type: void
     arguments:
       - type: int
+  - name: thrd_join
+    standards:
+      - stdc
+    return_type: int
+    arguments:
+      - type: thrd_t
+      - type: int *
   - name: tss_create
     standards:
       - stdc
diff --git a/libc/newhdrgen/yaml/time.yaml b/libc/newhdrgen/yaml/time.yaml
index a4605a23fdc03a..64a112be091fa5 100644
--- a/libc/newhdrgen/yaml/time.yaml
+++ b/libc/newhdrgen/yaml/time.yaml
@@ -23,6 +23,12 @@ functions:
     arguments:
       - type: struct tm *
       - type: char *
+  - name: clock
+    standard:
+      - stdc
+    return_type: clock_t
+    arguments:
+      - type: void
   - name: clock_gettime
     standard:
       - POSIX
@@ -30,12 +36,6 @@ functions:
     arguments:
       - type: clockid_t
       - type: struct timespec *
-  - name: clock
-    standard:
-      - stdc
-    return_type: clock_t
-    arguments:
-      - type: void
   - name: difftime
     standard:
       - stdc
diff --git a/libc/newhdrgen/yaml/unistd.yaml b/libc/newhdrgen/yaml/unistd.yaml
index f52ddf41f2451e..4d12abe96a2ec4 100644
--- a/libc/newhdrgen/yaml/unistd.yaml
+++ b/libc/newhdrgen/yaml/unistd.yaml
@@ -22,6 +22,24 @@ objects:
   - object_name: optopt
     object_type: int
 functions:
+  - name: __llvm_libc_syscall
+    standards:
+      - POSIX
+    return_type: long
+    arguments:
+      - type: long
+      - type: long
+      - type: long
+      - type: long
+      - type: long
+      - type: long
+      - type: long
+  - name: _exit
+    standards:
+      - POSIX
+    return_type: _Noreturn void
+    arguments:
+      - type: int
   - name: access
     standards:
       - POSIX
@@ -62,6 +80,13 @@ functions:
       - type: int
       - type: int
       - type: int
+  - name: execv
+    standards:
+      - POSIX
+    return_type: int
+    arguments:
+      - type: const char *
+      - type: __exec_argv_t
   - name: execve
     standards:
       - POSIX
@@ -76,6 +101,12 @@ functions:
     return_type: int
     arguments:
       - type: int
+  - name: fork
+    standards:
+      - POSIX
+    return_type: pid_t
+    arguments:
+      - type: void
   - name: fsync
     standards:
       - POSIX
@@ -102,6 +133,14 @@ functions:
     return_type: uid_t
     arguments:
       - type: void
+  - name: getopt
+    standards:
+      - POSIX
+    return_type: int
+    arguments:
+      - type: int
+      - type: __getoptargv_t
+      - type: const char *
   - name: getpid
     standards:
       - POSIX
@@ -114,6 +153,12 @@ functions:
     return_type: int
     arguments:
       - type: void
+  - name: gettid
+    standards:
+      - Linux
+    return_type: pid_t
+    arguments:
+      - type: void
   - name: getuid
     standards:
       - POSIX
@@ -207,6 +252,14 @@ functions:
     return_type: int
     arguments:
       - type: const char *
+  - name: swab
+    standards:
+      - POSIX
+    return_type: void
+    arguments:
+      - type: const void *__restrict
+      - type: void *
+      - type: ssize_t
   - name: symlink
     standards:
       - POSIX
@@ -260,56 +313,3 @@ functions:
       - type: size_t
     guard: null
     attributes: []
-  - name: _exit
-    standards:
-      - POSIX
-    return_type: _Noreturn void
-    arguments:
-      - type: int
-  - name: execv
-    standards:
-      - POSIX
-    return_type: int
-    arguments:
-      - type: const char *
-      - type: __exec_argv_t
-  - name: fork
-    standards:
-      - POSIX
-    return_type: pid_t
-    arguments:
-      - type: void
-  - name: __llvm_libc_syscall
-    standards:
-      - POSIX
-    return_type: long
-    arguments:
-      - type: long
-      - type: long
-      - type: long
-      - type: long
-      - type: long
-      - type: long
-      - type: long
-  - name: getopt
-    standards:
-      - POSIX
-    return_type: int
-    arguments:
-      - type: int
-      - type: __getoptargv_t
-      - type: const char *
-  - name: swab
-    standards:
-      - POSIX
-    return_type: void
-    arguments:
-      - type: const void *__restrict
-      - type: void *
-      - type: ssize_t
-  - name: gettid
-    standards:
-      - Linux
-    return_type: pid_t
-    arguments:
-      - type: void

>From 72602b557a7a708f350eb910143377753d7e36fd Mon Sep 17 00:00:00 2001
From: Aaryan Shukla <aaryanshukla at google.com>
Date: Thu, 8 Aug 2024 23:12:40 +0000
Subject: [PATCH 2/2] added script for sorting

---
 libc/newhdrgen/yaml_functions_sorted.py | 39 +++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 libc/newhdrgen/yaml_functions_sorted.py

diff --git a/libc/newhdrgen/yaml_functions_sorted.py b/libc/newhdrgen/yaml_functions_sorted.py
new file mode 100644
index 00000000000000..db19edf7481de2
--- /dev/null
+++ b/libc/newhdrgen/yaml_functions_sorted.py
@@ -0,0 +1,39 @@
+# ex: python3 sort_yaml_functions.py
+# ex: must be within yaml directory
+import yaml
+import os
+
+
+def sort_yaml_functions(yaml_file):
+    with open(yaml_file, "r") as f:
+        yaml_data = yaml.load(f, Loader=yaml.FullLoader)
+
+    if "functions" in yaml_data:
+        yaml_data["functions"].sort(key=lambda x: x["name"])
+
+    class IndentYamlListDumper(yaml.Dumper):
+        def increase_indent(self, flow=False, indentless=False):
+            return super(IndentYamlListDumper, self).increase_indent(flow, False)
+
+    with open(yaml_file, "w") as f:
+        yaml.dump(
+            yaml_data,
+            f,
+            Dumper=IndentYamlListDumper,
+            default_flow_style=False,
+            sort_keys=False,
+        )
+
+
+def main():
+    current_directory = os.getcwd()
+    yaml_files = [
+        file for file in os.listdir(current_directory) if file.endswith(".yaml")
+    ]
+
+    for yaml_file in yaml_files:
+        sort_yaml_functions(yaml_file)
+
+
+if __name__ == "__main__":
+    main()



More information about the libc-commits mailing list