diff --git a/Makefile b/Makefile
index fdf89e17c..b30a1cefd 100644
--- a/Makefile
+++ b/Makefile
@@ -110,7 +110,6 @@ include libc/intrin/intrin.mk			# │  You can use the stack
 include libc/linux/linux.mk			# │  You can manipulate arrays
 include libc/tinymath/tinymath.mk		# │  You can issue raw system calls
 include third_party/compiler_rt/compiler_rt.mk	# │
-include libc/bits/bits.mk			# │
 include libc/str/str.mk				# │
 include third_party/xed/xed.mk			# │
 include third_party/zlib/zlib.mk		# │
@@ -201,7 +200,6 @@ include test/libc/nexgen32e/test.mk
 include test/libc/runtime/test.mk
 include test/libc/thread/test.mk
 include test/libc/sock/test.mk
-include test/libc/bits/test.mk
 include test/libc/str/test.mk
 include test/libc/log/test.mk
 include test/libc/unicode/test.mk
@@ -301,7 +299,6 @@ COSMOPOLITAN_OBJECTS =		\
 	LIBC_ALG		\
 	LIBC_MEM		\
 	THIRD_PARTY_DLMALLOC	\
-	LIBC_BITS		\
 	LIBC_RUNTIME		\
 	LIBC_ELF		\
 	LIBC_CALLS		\
@@ -331,7 +328,6 @@ COSMOPOLITAN_HEADERS =		\
 	APE			\
 	LIBC			\
 	LIBC_ALG		\
-	LIBC_BITS		\
 	LIBC_CALLS		\
 	LIBC_DNS		\
 	LIBC_ELF		\
diff --git a/ape/ape.mk b/ape/ape.mk
index 0d32ee6b3..6ff986fe7 100644
--- a/ape/ape.mk
+++ b/ape/ape.mk
@@ -62,7 +62,7 @@ o/$(MODE)/ape/ape.lds:				\
 		ape/ape.lds			\
 		ape/macros.internal.h		\
 		ape/relocations.h		\
-		libc/bits/bits.h		\
+		libc/intrin/bits.h		\
 		libc/calls/struct/timespec.h	\
 		libc/dce.h			\
 		libc/elf/def.h			\
diff --git a/dsp/core/scalevolume.c b/dsp/core/scalevolume.c
index 65087ff43..e568b39db 100644
--- a/dsp/core/scalevolume.c
+++ b/dsp/core/scalevolume.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "dsp/core/core.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/limits.h"
 
 /**
diff --git a/dsp/core/unmulaw.c b/dsp/core/unmulaw.c
index 92ed0c5bc..bd6428dbb 100644
--- a/dsp/core/unmulaw.c
+++ b/dsp/core/unmulaw.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "dsp/core/core.h"
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 
 /**
  * Expands μ-Law coded to audio sample.
diff --git a/dsp/mpeg/mpeg1.c b/dsp/mpeg/mpeg1.c
index e3830207e..bc22c6a89 100644
--- a/dsp/mpeg/mpeg1.c
+++ b/dsp/mpeg/mpeg1.c
@@ -32,7 +32,7 @@
 #include "dsp/mpeg/idct.h"
 #include "dsp/mpeg/mpeg.h"
 #include "dsp/mpeg/video.h"
-#include "libc/bits/initializer.internal.h"
+#include "libc/intrin/initializer.internal.h"
 #include "libc/fmt/conv.h"
 #include "libc/log/log.h"
 #include "libc/macros.internal.h"
diff --git a/dsp/tty/hidecursor.c b/dsp/tty/hidecursor.c
index 50f5addeb..9d9353fc0 100644
--- a/dsp/tty/hidecursor.c
+++ b/dsp/tty/hidecursor.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "dsp/tty/tty.h"
-#include "libc/bits/pushpop.h"
+#include "libc/intrin/pushpop.h"
 #include "libc/dce.h"
 #include "libc/log/internal.h"
 #include "libc/log/log.h"
diff --git a/dsp/tty/ident.c b/dsp/tty/ident.c
index fad69d47c..b335408bb 100644
--- a/dsp/tty/ident.c
+++ b/dsp/tty/ident.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "dsp/tty/tty.h"
-#include "libc/bits/safemacros.internal.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/safemacros.internal.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/termios.h"
 #include "libc/dce.h"
diff --git a/dsp/tty/internal.h b/dsp/tty/internal.h
index a4d5390c9..92ad706f8 100644
--- a/dsp/tty/internal.h
+++ b/dsp/tty/internal.h
@@ -1,7 +1,7 @@
 #ifndef COSMOPOLITAN_DSP_TTY_INTERNAL_H_
 #define COSMOPOLITAN_DSP_TTY_INTERNAL_H_
 #include "dsp/tty/ttyrgb.h"
-#include "libc/bits/xmmintrin.internal.h"
+#include "libc/intrin/xmmintrin.internal.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 COSMOPOLITAN_C_START_
 
diff --git a/dsp/tty/itoa8.c b/dsp/tty/itoa8.c
index 5c0efcd67..4257a7e96 100644
--- a/dsp/tty/itoa8.c
+++ b/dsp/tty/itoa8.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "dsp/tty/itoa8.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/initializer.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/initializer.internal.h"
 #include "libc/str/str.h"
 
 struct Itoa8 kItoa8;
diff --git a/dsp/tty/quant.h b/dsp/tty/quant.h
index 575c309ba..37cb354b9 100644
--- a/dsp/tty/quant.h
+++ b/dsp/tty/quant.h
@@ -2,8 +2,8 @@
 #define DSP_TTY_QUANT_H_
 #include "dsp/tty/ttyrgb.h"
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/xmmintrin.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/xmmintrin.internal.h"
 #include "libc/limits.h"
 #include "libc/str/str.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
diff --git a/dsp/tty/rgb2ansi.c b/dsp/tty/rgb2ansi.c
index cbf214b64..515896fc6 100644
--- a/dsp/tty/rgb2ansi.c
+++ b/dsp/tty/rgb2ansi.c
@@ -19,7 +19,7 @@
 #include "dsp/core/core.h"
 #include "dsp/tty/quant.h"
 #include "libc/assert.h"
-#include "libc/bits/initializer.internal.h"
+#include "libc/intrin/initializer.internal.h"
 #include "libc/limits.h"
 #include "libc/log/log.h"
 #include "libc/macros.internal.h"
diff --git a/dsp/tty/rgb2ttyf2i.c b/dsp/tty/rgb2ttyf2i.c
index 200367938..146a04128 100644
--- a/dsp/tty/rgb2ttyf2i.c
+++ b/dsp/tty/rgb2ttyf2i.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "dsp/tty/quant.h"
-#include "libc/bits/xmmintrin.internal.h"
+#include "libc/intrin/xmmintrin.internal.h"
 
 struct TtyRgb rgb2ttyf2i_(__m128 rgb) {
   __v4si i4;
diff --git a/dsp/tty/ttymove.c b/dsp/tty/ttymove.c
index 92afe991d..cbe2070df 100644
--- a/dsp/tty/ttymove.c
+++ b/dsp/tty/ttymove.c
@@ -18,7 +18,7 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "dsp/tty/itoa8.h"
 #include "dsp/tty/tty.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/limits.h"
 #include "libc/log/check.h"
 
diff --git a/dsp/tty/ttyquant.c b/dsp/tty/ttyquant.c
index 6b633d53e..2984e5444 100644
--- a/dsp/tty/ttyquant.c
+++ b/dsp/tty/ttyquant.c
@@ -18,7 +18,7 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "dsp/tty/internal.h"
 #include "dsp/tty/quant.h"
-#include "libc/bits/initializer.internal.h"
+#include "libc/intrin/initializer.internal.h"
 #include "libc/dce.h"
 #include "libc/runtime/runtime.h"
 #include "libc/stdio/stdio.h"
diff --git a/dsp/tty/ttyraster.c b/dsp/tty/ttyraster.c
index 13f89139f..7466efc63 100644
--- a/dsp/tty/ttyraster.c
+++ b/dsp/tty/ttyraster.c
@@ -22,8 +22,8 @@
 #include "dsp/tty/ttyrgb.h"
 #include "dsp/tty/windex.h"
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/limits.h"
 #include "libc/log/check.h"
 #include "libc/log/log.h"
diff --git a/examples/auto-memory-safety-crash.c b/examples/auto-memory-safety-crash.c
index 9d8253148..8a9cd43f7 100644
--- a/examples/auto-memory-safety-crash.c
+++ b/examples/auto-memory-safety-crash.c
@@ -7,7 +7,7 @@
 │   • http://creativecommons.org/publicdomain/zero/1.0/            │
 ╚─────────────────────────────────────────────────────────────────*/
 #endif
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dce.h"
 #include "libc/log/log.h"
 #include "libc/runtime/runtime.h"
diff --git a/examples/auto-memory-safety-crash2.c b/examples/auto-memory-safety-crash2.c
index 9525d52a9..3365afd0b 100644
--- a/examples/auto-memory-safety-crash2.c
+++ b/examples/auto-memory-safety-crash2.c
@@ -7,7 +7,7 @@
 │   • http://creativecommons.org/publicdomain/zero/1.0/            │
 ╚─────────────────────────────────────────────────────────────────*/
 #endif
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dce.h"
 #include "libc/log/log.h"
 #include "libc/mem/mem.h"
diff --git a/examples/auto-memory-safety-crash3.c b/examples/auto-memory-safety-crash3.c
index b5730f976..df85fd243 100644
--- a/examples/auto-memory-safety-crash3.c
+++ b/examples/auto-memory-safety-crash3.c
@@ -7,7 +7,7 @@
 │   • http://creativecommons.org/publicdomain/zero/1.0/            │
 ╚─────────────────────────────────────────────────────────────────*/
 #endif
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dce.h"
 #include "libc/log/log.h"
 #include "libc/mem/mem.h"
diff --git a/examples/cplusplus.cc b/examples/cplusplus.cc
index cada830d3..3f329d98a 100644
--- a/examples/cplusplus.cc
+++ b/examples/cplusplus.cc
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/stdio/stdio.h"
 #include "libc/str/str.h"
 
diff --git a/examples/curl.c b/examples/curl.c
index c1330bb2a..b8e7a1550 100644
--- a/examples/curl.c
+++ b/examples/curl.c
@@ -7,7 +7,7 @@
 │   • http://creativecommons.org/publicdomain/zero/1.0/            │
 ╚─────────────────────────────────────────────────────────────────*/
 #endif
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/iovec.h"
 #include "libc/dce.h"
diff --git a/examples/examples.mk b/examples/examples.mk
index e273f4621..b861d456a 100644
--- a/examples/examples.mk
+++ b/examples/examples.mk
@@ -43,7 +43,6 @@ EXAMPLES_DIRECTDEPS =								\
 	DSP_SCALE								\
 	DSP_TTY									\
 	LIBC_ALG								\
-	LIBC_BITS								\
 	LIBC_CALLS								\
 	LIBC_DNS								\
 	LIBC_FMT								\
diff --git a/examples/getrandom.c b/examples/getrandom.c
index a0143e3f9..a5c109e83 100644
--- a/examples/getrandom.c
+++ b/examples/getrandom.c
@@ -7,7 +7,7 @@
 │   • http://creativecommons.org/publicdomain/zero/1.0/            │
 ╚─────────────────────────────────────────────────────────────────*/
 #endif
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/sigaction.h"
 #include "libc/errno.h"
diff --git a/examples/greenbean.c b/examples/greenbean.c
index 374dd6fa0..941a32a96 100644
--- a/examples/greenbean.c
+++ b/examples/greenbean.c
@@ -8,7 +8,7 @@
 ╚─────────────────────────────────────────────────────────────────*/
 #endif
 #include "libc/assert.h"
-#include "libc/bits/atomic.h"
+#include "libc/intrin/atomic.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/sigaction.h"
 #include "libc/calls/struct/sigset.h"
diff --git a/examples/ispell.c b/examples/ispell.c
index 8ce96e96d..80e9df235 100644
--- a/examples/ispell.c
+++ b/examples/ispell.c
@@ -10,7 +10,7 @@
 #include "libc/alg/alg.h"
 #include "libc/alg/arraylist.internal.h"
 #include "libc/alg/critbit0.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/fmt/conv.h"
 #include "libc/log/check.h"
diff --git a/examples/lstime.c b/examples/lstime.c
index 6ae47a70d..d8078fcc0 100644
--- a/examples/lstime.c
+++ b/examples/lstime.c
@@ -9,7 +9,7 @@
 #endif
 #include "libc/alg/alg.h"
 #include "libc/alg/arraylist2.internal.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/dirent.h"
 #include "libc/calls/struct/stat.h"
diff --git a/examples/nesemu1.cc b/examples/nesemu1.cc
index f8ae23732..b73425cdd 100644
--- a/examples/nesemu1.cc
+++ b/examples/nesemu1.cc
@@ -12,8 +12,8 @@
 #include "dsp/tty/tty.h"
 #include "libc/alg/arraylist2.internal.h"
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/itimerval.h"
 #include "libc/calls/struct/winsize.h"
diff --git a/examples/ttyaudio.c b/examples/ttyaudio.c
index 928fc48d1..4fd6832f1 100644
--- a/examples/ttyaudio.c
+++ b/examples/ttyaudio.c
@@ -8,7 +8,7 @@
 ╚─────────────────────────────────────────────────────────────────*/
 #endif
 #include "dsp/core/core.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/sigaction.h"
 #include "libc/fmt/nf32.h"
diff --git a/examples/unbourne.c b/examples/unbourne.c
index 5a8f5c270..f84251abc 100644
--- a/examples/unbourne.c
+++ b/examples/unbourne.c
@@ -112,7 +112,7 @@
 
 #include "libc/alg/alg.h"
 #include "libc/assert.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/dirent.h"
 #include "libc/calls/struct/rlimit.h"
diff --git a/libc/alg/arraylist.internal.h b/libc/alg/arraylist.internal.h
index c5cb4b80c..d40da7684 100644
--- a/libc/alg/arraylist.internal.h
+++ b/libc/alg/arraylist.internal.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_ALG_ARRAYLIST_H_
 #define COSMOPOLITAN_LIBC_ALG_ARRAYLIST_H_
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/mem/mem.h"
 #include "libc/str/str.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
diff --git a/libc/alg/replacestr.c b/libc/alg/replacestr.c
index 82e0eb031..abad4dfb8 100644
--- a/libc/alg/replacestr.c
+++ b/libc/alg/replacestr.c
@@ -18,7 +18,7 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/alg.h"
 #include "libc/alg/arraylist2.internal.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/macros.internal.h"
 #include "libc/str/str.h"
 #include "libc/sysv/errfuns.h"
diff --git a/libc/alg/reverse.internal.h b/libc/alg/reverse.internal.h
index 2f8c2083c..03bcc4027 100644
--- a/libc/alg/reverse.internal.h
+++ b/libc/alg/reverse.internal.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_ALG_REVERSE_H_
 #define COSMOPOLITAN_LIBC_ALG_REVERSE_H_
-#include "libc/bits/xchg.internal.h"
+#include "libc/intrin/xchg.internal.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 
 /**
diff --git a/libc/alg/shuffle.internal.h b/libc/alg/shuffle.internal.h
index 46001d8c7..00dcda086 100644
--- a/libc/alg/shuffle.internal.h
+++ b/libc/alg/shuffle.internal.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_RAND_SHUFFLE_H_
 #define COSMOPOLITAN_LIBC_RAND_SHUFFLE_H_
-#include "libc/bits/xchg.internal.h"
+#include "libc/intrin/xchg.internal.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 
 /**
diff --git a/libc/atomic.h b/libc/atomic.h
index 10e5925a9..dd8f831f8 100644
--- a/libc/atomic.h
+++ b/libc/atomic.h
@@ -11,7 +11,7 @@ COSMOPOLITAN_C_START_
  * we only define a portability macro for the syntax `_Atomic(T)`.
  *
  * @see libc/integral/c.inc
- * @see libc/bits/atomic.h
+ * @see libc/intrin/atomic.h
  */
 
 #define atomic_bool           _Atomic(_Bool)
diff --git a/libc/bits/asmflag.h b/libc/bits/asmflag.h
old mode 100644
new mode 100755
index 64013b14b..e69de29bb
--- a/libc/bits/asmflag.h
+++ b/libc/bits/asmflag.h
@@ -1,34 +0,0 @@
-#ifndef COSMOPOLITAN_LIBC_BITS_ASMFLAG_H_
-#define COSMOPOLITAN_LIBC_BITS_ASMFLAG_H_
-#if !(__ASSEMBLER__ + __LINKER__ + 0)
-
-/*
- * Constraints for virtual machine flags.
- * @note we beseech clang devs for flag constraints
- */
-#ifdef __GCC_ASM_FLAG_OUTPUTS__ /* GCC6+ CLANG10+ */
-#define CFLAG_CONSTRAINT  "=@ccc"
-#define CFLAG_ASM(OP)     OP
-#define ZFLAG_CONSTRAINT  "=@ccz"
-#define ZFLAG_ASM(OP)     OP
-#define OFLAG_CONSTRAINT  "=@cco"
-#define OFLAG_ASM(OP)     OP
-#define SFLAG_CONSTRAINT  "=@ccs"
-#define SFLAG_ASM(SP)     SP
-#define ABOVE_CONSTRAINT  "=@cca" /* i.e. !ZF && !CF */
-#define ABOVEFLAG_ASM(OP) OP
-#else
-#define CFLAG_CONSTRAINT  "=q"
-#define CFLAG_ASM(OP)     OP "\n\tsetc\t%b0"
-#define ZFLAG_CONSTRAINT  "=q"
-#define ZFLAG_ASM(OP)     OP "\n\tsetz\t%b0"
-#define OFLAG_CONSTRAINT  "=q"
-#define OFLAG_ASM(OP)     OP "\n\tseto\t%b0"
-#define SFLAG_CONSTRAINT  "=q"
-#define SFLAG_ASM(SP)     OP "\n\tsets\t%b0"
-#define ABOVE_CONSTRAINT  "=@cca"
-#define ABOVEFLAG_ASM(OP) OP "\n\tseta\t%b0"
-#endif
-
-#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
-#endif /* COSMOPOLITAN_LIBC_BITS_ASMFLAG_H_ */
diff --git a/libc/bits/bits.h b/libc/bits/bits.h
old mode 100644
new mode 100755
index d283f9aa8..e69de29bb
--- a/libc/bits/bits.h
+++ b/libc/bits/bits.h
@@ -1,164 +0,0 @@
-#ifndef COSMOPOLITAN_LIBC_BITS_H_
-#define COSMOPOLITAN_LIBC_BITS_H_
-#if !(__ASSEMBLER__ + __LINKER__ + 0)
-COSMOPOLITAN_C_START_
-
-#define CheckUnsigned(x) ((x) / !((typeof(x))(-1) < 0))
-
-/*───────────────────────────────────────────────────────────────────────────│─╗
-│ cosmopolitan § bits                                                      ─╬─│┼
-╚────────────────────────────────────────────────────────────────────────────│*/
-
-extern const uint8_t kReverseBits[256];
-
-uint32_t gray(uint32_t) pureconst;
-uint32_t ungray(uint32_t) pureconst;
-int bitreverse8(int) libcesque pureconst;
-int bitreverse16(int) libcesque pureconst;
-uint32_t bitreverse32(uint32_t) libcesque pureconst;
-uint64_t bitreverse64(uint64_t) libcesque pureconst;
-unsigned long roundup2pow(unsigned long) libcesque pureconst;
-unsigned long roundup2log(unsigned long) libcesque pureconst;
-unsigned long rounddown2pow(unsigned long) libcesque pureconst;
-unsigned long hamming(unsigned long, unsigned long) pureconst;
-unsigned bextra(const unsigned *, size_t, char);
-
-/*───────────────────────────────────────────────────────────────────────────│─╗
-│ cosmopolitan § bits » no assembly required                               ─╬─│┼
-╚────────────────────────────────────────────────────────────────────────────│*/
-
-#define BITREVERSE8(X) (kReverseBits[255 & (X)])
-#define BITREVERSE16(X) \
-  (kReverseBits[0x00FF & (X)] << 8 | kReverseBits[(0xFF00 & (X)) >> 8])
-
-#ifdef __STRICT_ANSI__
-#define READ16LE(S) ((255 & (S)[1]) << 8 | (255 & (S)[0]))
-#define READ16BE(S) ((255 & (S)[0]) << 8 | (255 & (S)[1]))
-#define READ32LE(S)                                                    \
-  ((uint32_t)(255 & (S)[3]) << 030 | (uint32_t)(255 & (S)[2]) << 020 | \
-   (uint32_t)(255 & (S)[1]) << 010 | (uint32_t)(255 & (S)[0]) << 000)
-#define READ32BE(S)                                                    \
-  ((uint32_t)(255 & (S)[0]) << 030 | (uint32_t)(255 & (S)[1]) << 020 | \
-   (uint32_t)(255 & (S)[2]) << 010 | (uint32_t)(255 & (S)[3]) << 000)
-#define READ64LE(S)                                                    \
-  ((uint64_t)(255 & (S)[7]) << 070 | (uint64_t)(255 & (S)[6]) << 060 | \
-   (uint64_t)(255 & (S)[5]) << 050 | (uint64_t)(255 & (S)[4]) << 040 | \
-   (uint64_t)(255 & (S)[3]) << 030 | (uint64_t)(255 & (S)[2]) << 020 | \
-   (uint64_t)(255 & (S)[1]) << 010 | (uint64_t)(255 & (S)[0]) << 000)
-#define READ64BE(S)                                                    \
-  ((uint64_t)(255 & (S)[0]) << 070 | (uint64_t)(255 & (S)[1]) << 060 | \
-   (uint64_t)(255 & (S)[2]) << 050 | (uint64_t)(255 & (S)[3]) << 040 | \
-   (uint64_t)(255 & (S)[4]) << 030 | (uint64_t)(255 & (S)[5]) << 020 | \
-   (uint64_t)(255 & (S)[6]) << 010 | (uint64_t)(255 & (S)[7]) << 000)
-#else /* gcc needs help knowing above are mov if s isn't a variable */
-#define READ16LE(S)                            \
-  ({                                           \
-    const uint8_t *Ptr = (const uint8_t *)(S); \
-    Ptr[1] << 8 | Ptr[0];                      \
-  })
-#define READ16BE(S)                            \
-  ({                                           \
-    const uint8_t *Ptr = (const uint8_t *)(S); \
-    Ptr[0] << 8 | Ptr[1];                      \
-  })
-#define READ32LE(S)                                      \
-  ({                                                     \
-    const uint8_t *Ptr = (const uint8_t *)(S);           \
-    ((uint32_t)Ptr[3] << 030 | (uint32_t)Ptr[2] << 020 | \
-     (uint32_t)Ptr[1] << 010 | (uint32_t)Ptr[0] << 000); \
-  })
-#define READ32BE(S)                                      \
-  ({                                                     \
-    const uint8_t *Ptr = (const uint8_t *)(S);           \
-    ((uint32_t)Ptr[0] << 030 | (uint32_t)Ptr[1] << 020 | \
-     (uint32_t)Ptr[2] << 010 | (uint32_t)Ptr[3] << 000); \
-  })
-#define READ64LE(S)                                      \
-  ({                                                     \
-    const uint8_t *Ptr = (const uint8_t *)(S);           \
-    ((uint64_t)Ptr[7] << 070 | (uint64_t)Ptr[6] << 060 | \
-     (uint64_t)Ptr[5] << 050 | (uint64_t)Ptr[4] << 040 | \
-     (uint64_t)Ptr[3] << 030 | (uint64_t)Ptr[2] << 020 | \
-     (uint64_t)Ptr[1] << 010 | (uint64_t)Ptr[0] << 000); \
-  })
-#define READ64BE(S)                                      \
-  ({                                                     \
-    const uint8_t *Ptr = (const uint8_t *)(S);           \
-    ((uint64_t)Ptr[0] << 070 | (uint64_t)Ptr[1] << 060 | \
-     (uint64_t)Ptr[2] << 050 | (uint64_t)Ptr[3] << 040 | \
-     (uint64_t)Ptr[4] << 030 | (uint64_t)Ptr[5] << 020 | \
-     (uint64_t)Ptr[6] << 010 | (uint64_t)Ptr[7] << 000); \
-  })
-#endif
-
-#define WRITE16LE(P, V)                        \
-  ((P)[0] = (0x00000000000000FF & (V)) >> 000, \
-   (P)[1] = (0x000000000000FF00 & (V)) >> 010, (P) + 2)
-#define WRITE16BE(P, V)                        \
-  ((P)[0] = (0x000000000000FF00 & (V)) >> 010, \
-   (P)[1] = (0x00000000000000FF & (V)) >> 000, (P) + 2)
-#define WRITE32LE(P, V)                        \
-  ((P)[0] = (0x00000000000000FF & (V)) >> 000, \
-   (P)[1] = (0x000000000000FF00 & (V)) >> 010, \
-   (P)[2] = (0x0000000000FF0000 & (V)) >> 020, \
-   (P)[3] = (0x00000000FF000000 & (V)) >> 030, (P) + 4)
-#define WRITE32BE(P, V)                        \
-  ((P)[0] = (0x00000000FF000000 & (V)) >> 030, \
-   (P)[1] = (0x0000000000FF0000 & (V)) >> 020, \
-   (P)[2] = (0x000000000000FF00 & (V)) >> 010, \
-   (P)[3] = (0x00000000000000FF & (V)) >> 000, (P) + 4)
-#define WRITE64LE(P, V)                        \
-  ((P)[0] = (0x00000000000000FF & (V)) >> 000, \
-   (P)[1] = (0x000000000000FF00 & (V)) >> 010, \
-   (P)[2] = (0x0000000000FF0000 & (V)) >> 020, \
-   (P)[3] = (0x00000000FF000000 & (V)) >> 030, \
-   (P)[4] = (0x000000FF00000000 & (V)) >> 040, \
-   (P)[5] = (0x0000FF0000000000 & (V)) >> 050, \
-   (P)[6] = (0x00FF000000000000 & (V)) >> 060, \
-   (P)[7] = (0xFF00000000000000 & (V)) >> 070, (P) + 8)
-#define WRITE64BE(P, V)                        \
-  ((P)[0] = (0xFF00000000000000 & (V)) >> 070, \
-   (P)[1] = (0x00FF000000000000 & (V)) >> 060, \
-   (P)[2] = (0x0000FF0000000000 & (V)) >> 050, \
-   (P)[3] = (0x000000FF00000000 & (V)) >> 040, \
-   (P)[4] = (0x00000000FF000000 & (V)) >> 030, \
-   (P)[5] = (0x0000000000FF0000 & (V)) >> 020, \
-   (P)[6] = (0x000000000000FF00 & (V)) >> 010, \
-   (P)[7] = (0x00000000000000FF & (V)) >> 000, (P) + 8)
-
-/*───────────────────────────────────────────────────────────────────────────│─╗
-│ cosmopolitan § bits » some assembly required                             ─╬─│┼
-╚────────────────────────────────────────────────────────────────────────────│*/
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
-
-#define lockinc(MEM) __ArithmeticOp1("lock inc", MEM)
-#define lockdec(MEM) __ArithmeticOp1("lock dec", MEM)
-#define locknot(MEM) __ArithmeticOp1("lock not", MEM)
-#define lockneg(MEM) __ArithmeticOp1("lock neg", MEM)
-
-#define lockaddeq(MEM, VAL) __ArithmeticOp2("lock add", VAL, MEM)
-#define locksubeq(MEM, VAL) __ArithmeticOp2("lock sub", VAL, MEM)
-#define lockxoreq(MEM, VAL) __ArithmeticOp2("lock xor", VAL, MEM)
-#define lockandeq(MEM, VAL) __ArithmeticOp2("lock and", VAL, MEM)
-#define lockoreq(MEM, VAL)  __ArithmeticOp2("lock or", VAL, MEM)
-
-/*───────────────────────────────────────────────────────────────────────────│─╗
-│ cosmopolitan § bits » implementation details                             ─╬─│┼
-╚────────────────────────────────────────────────────────────────────────────│*/
-
-#define __ArithmeticOp1(OP, MEM)                               \
-  ({                                                           \
-    asm(OP "%z0\t%0" : "+m"(*(MEM)) : /* no inputs */ : "cc"); \
-    MEM;                                                       \
-  })
-
-#define __ArithmeticOp2(OP, VAL, MEM)                          \
-  ({                                                           \
-    asm(OP "%z0\t%1,%0" : "+m,m"(*(MEM)) : "i,r"(VAL) : "cc"); \
-    MEM;                                                       \
-  })
-
-#endif /* __GNUC__ && !__STRICT_ANSI__ */
-COSMOPOLITAN_C_END_
-#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
-#endif /* COSMOPOLITAN_LIBC_BITS_H_ */
diff --git a/libc/bits/bits.mk b/libc/bits/bits.mk
old mode 100644
new mode 100755
index 788f04819..e69de29bb
--- a/libc/bits/bits.mk
+++ b/libc/bits/bits.mk
@@ -1,50 +0,0 @@
-#-*-mode:makefile-gmake;indent-tabs-mode:t;tab-width:8;coding:utf-8-*-┐
-#───vi: set et ft=make ts=8 tw=8 fenc=utf-8 :vi───────────────────────┘
-
-PKGS += LIBC_BITS
-
-LIBC_BITS_ARTIFACTS += LIBC_BITS_A
-LIBC_BITS = $(LIBC_BITS_A_DEPS) $(LIBC_BITS_A)
-LIBC_BITS_A = o/$(MODE)/libc/bits/bits.a
-LIBC_BITS_A_FILES := $(wildcard libc/bits/*)
-LIBC_BITS_A_HDRS = $(filter %.h,$(LIBC_BITS_A_FILES))
-LIBC_BITS_A_SRCS_S = $(filter %.S,$(LIBC_BITS_A_FILES))
-LIBC_BITS_A_SRCS_C = $(filter %.c,$(LIBC_BITS_A_FILES))
-
-LIBC_BITS_A_SRCS =				\
-	$(LIBC_BITS_A_SRCS_S)			\
-	$(LIBC_BITS_A_SRCS_C)
-
-LIBC_BITS_A_OBJS =				\
-	$(LIBC_BITS_A_SRCS_S:%.S=o/$(MODE)/%.o)	\
-	$(LIBC_BITS_A_SRCS_C:%.c=o/$(MODE)/%.o)
-
-LIBC_BITS_A_CHECKS =				\
-	$(LIBC_BITS_A).pkg			\
-	$(LIBC_BITS_A_HDRS:%=o/$(MODE)/%.ok)
-
-LIBC_BITS_A_DIRECTDEPS =			\
-	LIBC_STUBS				\
-	LIBC_INTRIN				\
-	LIBC_NEXGEN32E
-
-LIBC_BITS_A_DEPS :=				\
-	$(call uniq,$(foreach x,$(LIBC_BITS_A_DIRECTDEPS),$($(x))))
-
-$(LIBC_BITS_A):	libc/bits/			\
-		$(LIBC_BITS_A).pkg		\
-		$(LIBC_BITS_A_OBJS)
-
-$(LIBC_BITS_A).pkg:				\
-		$(LIBC_BITS_A_OBJS)		\
-		$(foreach x,$(LIBC_BITS_A_DIRECTDEPS),$($(x)_A).pkg)
-
-LIBC_BITS_LIBS = $(foreach x,$(LIBC_BITS_ARTIFACTS),$($(x)))
-LIBC_BITS_SRCS = $(foreach x,$(LIBC_BITS_ARTIFACTS),$($(x)_SRCS))
-LIBC_BITS_HDRS = $(foreach x,$(LIBC_BITS_ARTIFACTS),$($(x)_HDRS))
-LIBC_BITS_CHECKS = $(foreach x,$(LIBC_BITS_ARTIFACTS),$($(x)_CHECKS))
-LIBC_BITS_OBJS = $(foreach x,$(LIBC_BITS_ARTIFACTS),$($(x)_OBJS))
-$(LIBC_BITS_OBJS): $(BUILD_FILES) libc/bits/bits.mk
-
-.PHONY: o/$(MODE)/libc/bits
-o/$(MODE)/libc/bits: $(LIBC_BITS_CHECKS)
diff --git a/libc/bits/bswap.h b/libc/bits/bswap.h
old mode 100644
new mode 100755
index 1dad0e4b5..e69de29bb
--- a/libc/bits/bswap.h
+++ b/libc/bits/bswap.h
@@ -1,18 +0,0 @@
-#ifndef COSMOPOLITAN_LIBC_BITS_BSWAP_H_
-#define COSMOPOLITAN_LIBC_BITS_BSWAP_H_
-#if !(__ASSEMBLER__ + __LINKER__ + 0)
-COSMOPOLITAN_C_START_
-
-uint16_t bswap_16(uint16_t) pureconst;
-uint32_t bswap_32(uint32_t) pureconst;
-uint32_t bswap_64(uint32_t) pureconst;
-
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
-#define bswap_16(x) __builtin_bswap16(x)
-#define bswap_32(x) __builtin_bswap32(x)
-#define bswap_64(x) __builtin_bswap64(x)
-#endif /* defined(__GNUC__) && !defined(__STRICT_ANSI__) */
-
-COSMOPOLITAN_C_END_
-#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
-#endif /* COSMOPOLITAN_LIBC_BITS_BSWAP_H_ */
diff --git a/libc/bits/likely.h b/libc/bits/likely.h
old mode 100644
new mode 100755
index 3f96b4cf8..e69de29bb
--- a/libc/bits/likely.h
+++ b/libc/bits/likely.h
@@ -1,21 +0,0 @@
-#ifndef COSMOPOLITAN_LIBC_BITS_LIKELY_H_
-#define COSMOPOLITAN_LIBC_BITS_LIKELY_H_
-#if !(__ASSEMBLER__ + __LINKER__ + 0)
-
-#define LIKELY(x)   __builtin_expect(!!(x), 1)
-#define UNLIKELY(x) __builtin_expect(!!(x), 0)
-
-#if __GNUC__ + 0 >= 9 && !defined(__chibicc__)
-#define VERY_LIKELY(x) __builtin_expect_with_probability(!!(x), 1, 0.999)
-#else
-#define VERY_LIKELY(x) LIKELY(x)
-#endif
-
-#if __GNUC__ + 0 >= 9 && !defined(__chibicc__)
-#define VERY_UNLIKELY(x) __builtin_expect_with_probability(!!(x), 0, 0.999)
-#else
-#define VERY_UNLIKELY(x) UNLIKELY(x)
-#endif
-
-#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
-#endif /* COSMOPOLITAN_LIBC_BITS_LIKELY_H_ */
diff --git a/libc/bits/midpoint.h b/libc/bits/midpoint.h
old mode 100644
new mode 100755
index aa013453f..e69de29bb
--- a/libc/bits/midpoint.h
+++ b/libc/bits/midpoint.h
@@ -1,32 +0,0 @@
-#ifndef COSMOPOLITAN_LIBC_BITS_MIDPOINT_H_
-#define COSMOPOLITAN_LIBC_BITS_MIDPOINT_H_
-#include "libc/assert.h"
-#if !(__ASSEMBLER__ + __LINKER__ + 0)
-
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && defined(__x86__)
-/**
- * Computes `(a + b) / 2` assuming unsigned.
- *
- * This implementation is the fastest on AMD Zen architecture.
- */
-#define _midpoint(a, b)         \
-  ({                            \
-    typeof((a) + (b)) a_ = (a); \
-    typeof(a_) b_ = (b);        \
-    assert(a_ >= 0);            \
-    assert(b_ >= 0);            \
-    asm("add\t%1,%0\n\t"        \
-        "rcr\t%0"               \
-        : "+r"(a_)              \
-        : "r"(b_));             \
-    a_;                         \
-  })
-#else
-/**
- * Computes `(a + b) / 2` assuming unsigned.
- */
-#define _midpoint(a, b) (((a) & (b)) + ((a) ^ (b)) / 2)
-#endif /* __GNUC__ && !__STRICT_ANSI__ && x86 */
-
-#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
-#endif /* COSMOPOLITAN_LIBC_BITS_MIDPOINT_H_ */
diff --git a/libc/bits/safemacros.internal.h b/libc/bits/safemacros.internal.h
old mode 100644
new mode 100755
index ac1c1e03b..e69de29bb
--- a/libc/bits/safemacros.internal.h
+++ b/libc/bits/safemacros.internal.h
@@ -1,71 +0,0 @@
-#ifndef COSMOPOLITAN_LIBC_BITS_SAFEMACROS_H_
-#define COSMOPOLITAN_LIBC_BITS_SAFEMACROS_H_
-#include "libc/macros.internal.h"
-#include "libc/runtime/runtime.h"
-#if !(__ASSEMBLER__ + __LINKER__ + 0)
-COSMOPOLITAN_C_START_
-
-#define min(x, y)              \
-  ({                           \
-    autotype(x) MinX = (x);    \
-    autotype(y) MinY = (y);    \
-    MinX < MinY ? MinX : MinY; \
-  })
-
-#define max(x, y)              \
-  ({                           \
-    autotype(x) MaxX = (x);    \
-    autotype(y) MaxY = (y);    \
-    MaxX > MaxY ? MaxX : MaxY; \
-  })
-
-#define roundup(x, k)            \
-  ({                             \
-    autotype(x) RoundupX = (x);  \
-    autotype(k) RoundupK = (k);  \
-    ROUNDUP(RoundupX, RoundupK); \
-  })
-
-#define rounddown(x, k)                \
-  ({                                   \
-    autotype(x) RounddownX = (x);      \
-    autotype(k) RounddownK = (k);      \
-    ROUNDDOWN(RounddownX, RounddownK); \
-  })
-
-#define isempty(s)              \
-  ({                            \
-    autotype(s) IsEmptyS = (s); \
-    !IsEmptyS || !(*IsEmptyS);  \
-  })
-
-#define nulltoempty(s)                \
-  ({                                  \
-    autotype(s) NullToEmptyS = (s);   \
-    NullToEmptyS ? NullToEmptyS : ""; \
-  })
-
-#define firstnonnull(a, b)                         \
-  ({                                               \
-    autotype(a) FirstNonNullA = (a);               \
-    autotype(a) FirstNonNullB = (b);               \
-    if (!FirstNonNullA && !FirstNonNullB) abort(); \
-    FirstNonNullA ? FirstNonNullA : FirstNonNullB; \
-  })
-
-#define emptytonull(s)                                      \
-  ({                                                        \
-    autotype(s) EmptyToNullS = (s);                         \
-    EmptyToNullS && !(*EmptyToNullS) ? NULL : EmptyToNullS; \
-  })
-
-#define unsignedsubtract(a, b)                                 \
-  ({                                                           \
-    uint64_t UnsubA = (a);                                     \
-    uint64_t UnsubB = (b);                                     \
-    UnsubA >= UnsubB ? UnsubA - UnsubB : ~UnsubB + UnsubA + 1; \
-  })
-
-COSMOPOLITAN_C_END_
-#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
-#endif /* COSMOPOLITAN_LIBC_BITS_SAFEMACROS_H_ */
diff --git a/libc/bits/weaken.h b/libc/bits/weaken.h
old mode 100644
new mode 100755
index c190d44f6..e69de29bb
--- a/libc/bits/weaken.h
+++ b/libc/bits/weaken.h
@@ -1,28 +0,0 @@
-#ifndef COSMOPOLITAN_LIBC_BITS_WEAKEN_H_
-#define COSMOPOLITAN_LIBC_BITS_WEAKEN_H_
-#include "libc/bits/ezlea.h"
-#if !(__ASSEMBLER__ + __LINKER__ + 0)
-#ifndef __STRICT_ANSI__
-
-#define weaken(symbol) ((const typeof(&(symbol)))weakaddr(#symbol))
-
-#define strongaddr(symbolstr)                \
-  ({                                         \
-    intptr_t waddr;                          \
-    asm(ezlea(symbolstr) "0" : "=r"(waddr)); \
-    waddr;                                   \
-  })
-
-#define weakaddr(symbolstr)                                             \
-  ({                                                                    \
-    intptr_t waddr;                                                     \
-    asm(".weak\t" symbolstr "\n\t" ezlea(symbolstr) "0" : "=r"(waddr)); \
-    waddr;                                                              \
-  })
-
-#else
-#define weaken(symbol)      symbol
-#define weakaddr(symbolstr) &(symbolstr)
-#endif /* __STRICT_ANSI__ */
-#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
-#endif /* COSMOPOLITAN_LIBC_BITS_WEAKEN_H_ */
diff --git a/libc/bits/xchg.internal.h b/libc/bits/xchg.internal.h
old mode 100644
new mode 100755
index b912306e5..e69de29bb
--- a/libc/bits/xchg.internal.h
+++ b/libc/bits/xchg.internal.h
@@ -1,25 +0,0 @@
-#ifndef COSMOPOLITAN_LIBC_BITS_XCHG_H_
-#define COSMOPOLITAN_LIBC_BITS_XCHG_H_
-#include "libc/str/str.h"
-#if !(__ASSEMBLER__ + __LINKER__ + 0)
-
-/**
- * Exchanges *MEMORY into *LOCALVAR.
- *
- * @return *MEMORY
- * @see lockcmpxchg()
- * todo(jart): what's the point of this?
- */
-#define xchg(MEMORY, LOCALVAR)              \
-  ({                                        \
-    autotype(MEMORY) Memory = (MEMORY);     \
-    typeof(Memory) LocalVar = (LOCALVAR);   \
-    typeof(*Memory) Temp;                   \
-    memcpy(&Temp, Memory, sizeof(Temp));    \
-    memcpy(Memory, LocalVar, sizeof(Temp)); \
-    memcpy(LocalVar, &Temp, sizeof(Temp));  \
-    Temp;                                   \
-  })
-
-#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
-#endif /* COSMOPOLITAN_LIBC_BITS_XCHG_H_ */
diff --git a/libc/calls/asan.internal.h b/libc/calls/asan.internal.h
index e73bbd39c..40a13ad22 100644
--- a/libc/calls/asan.internal.h
+++ b/libc/calls/asan.internal.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_CALLS_ASAN_INTERNAL_H_
 #define COSMOPOLITAN_LIBC_CALLS_ASAN_INTERNAL_H_
-#include "libc/bits/asmflag.h"
+#include "libc/intrin/asmflag.h"
 #include "libc/calls/struct/timespec.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 COSMOPOLITAN_C_START_
diff --git a/libc/calls/clock_gettime-mono.c b/libc/calls/clock_gettime-mono.c
index 474cb8eb8..9d2617e5c 100644
--- a/libc/calls/clock_gettime-mono.c
+++ b/libc/calls/clock_gettime-mono.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/calls/clock_gettime.internal.h"
 #include "libc/intrin/spinlock.h"
 #include "libc/nexgen32e/rdtsc.h"
diff --git a/libc/calls/clock_gettime.c b/libc/calls/clock_gettime.c
index 97238db59..ed425cfe4 100644
--- a/libc/calls/clock_gettime.c
+++ b/libc/calls/clock_gettime.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/asmflag.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/asmflag.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/asan.internal.h"
 #include "libc/calls/clock_gettime.internal.h"
 #include "libc/calls/internal.h"
diff --git a/libc/calls/close.c b/libc/calls/close.c
index adeaa7f29..870e55f57 100644
--- a/libc/calls/close.c
+++ b/libc/calls/close.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/state.internal.h"
diff --git a/libc/calls/commandv.c b/libc/calls/commandv.c
index 79ad7b629..3e606a77d 100644
--- a/libc/calls/commandv.c
+++ b/libc/calls/commandv.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/dce.h"
diff --git a/libc/calls/directmap.c b/libc/calls/directmap.c
index cafcf48d1..afb1265d3 100644
--- a/libc/calls/directmap.c
+++ b/libc/calls/directmap.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall-sysv.internal.h"
 #include "libc/errno.h"
diff --git a/libc/calls/dup-nt.c b/libc/calls/dup-nt.c
index cc84c453a..308a3eeb7 100644
--- a/libc/calls/dup-nt.c
+++ b/libc/calls/dup-nt.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/state.internal.h"
 #include "libc/calls/syscall_support-nt.internal.h"
diff --git a/libc/calls/execve-nt.greg.c b/libc/calls/execve-nt.greg.c
index 8cb6bcc80..b24a06bb7 100644
--- a/libc/calls/execve-nt.greg.c
+++ b/libc/calls/execve-nt.greg.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #define ShouldUseMsabiAttribute() 1
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/ntspawn.h"
diff --git a/libc/calls/execve-sysv.c b/libc/calls/execve-sysv.c
index dd4ed9038..67e34dcce 100644
--- a/libc/calls/execve-sysv.c
+++ b/libc/calls/execve-sysv.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/syscall-sysv.internal.h"
 #include "libc/dce.h"
diff --git a/libc/calls/execve.c b/libc/calls/execve.c
index 0c5e341b8..0fe17c848 100644
--- a/libc/calls/execve.c
+++ b/libc/calls/execve.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/likely.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/pledge.h"
 #include "libc/calls/pledge.internal.h"
diff --git a/libc/calls/faccessat.c b/libc/calls/faccessat.c
index e487dd5a2..4c71328bd 100644
--- a/libc/calls/faccessat.c
+++ b/libc/calls/faccessat.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall-nt.internal.h"
diff --git a/libc/calls/fchmodat.c b/libc/calls/fchmodat.c
index 5c27909ff..099bdb602 100644
--- a/libc/calls/fchmodat.c
+++ b/libc/calls/fchmodat.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall-nt.internal.h"
diff --git a/libc/calls/fchownat.c b/libc/calls/fchownat.c
index aa774759d..fff6e785a 100644
--- a/libc/calls/fchownat.c
+++ b/libc/calls/fchownat.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall-sysv.internal.h"
diff --git a/libc/calls/fcntl.c b/libc/calls/fcntl.c
index b87653c85..ae13e4b19 100644
--- a/libc/calls/fcntl.c
+++ b/libc/calls/fcntl.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/calls/fileexists.c b/libc/calls/fileexists.c
index f5301a8fb..11d8e5b91 100644
--- a/libc/calls/fileexists.c
+++ b/libc/calls/fileexists.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/struct/metastat.internal.h"
diff --git a/libc/calls/fstat.c b/libc/calls/fstat.c
index 011116db4..ed39ef4ab 100644
--- a/libc/calls/fstat.c
+++ b/libc/calls/fstat.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/calls/fstatat.c b/libc/calls/fstatat.c
index 825845ad5..40c491c9b 100644
--- a/libc/calls/fstatat.c
+++ b/libc/calls/fstatat.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/state.internal.h"
diff --git a/libc/calls/getcpucount.c b/libc/calls/getcpucount.c
index 7b870d806..44958ee62 100644
--- a/libc/calls/getcpucount.c
+++ b/libc/calls/getcpucount.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/popcnt.h"
+#include "libc/intrin/popcnt.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/weirdtypes.h"
 #include "libc/dce.h"
diff --git a/libc/calls/getcwd.greg.c b/libc/calls/getcwd.greg.c
index 52dacfbe3..49befca91 100644
--- a/libc/calls/getcwd.greg.c
+++ b/libc/calls/getcwd.greg.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/state.internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/calls/getfiledescriptorsize.c b/libc/calls/getfiledescriptorsize.c
index 8011608cd..5b4e44043 100644
--- a/libc/calls/getfiledescriptorsize.c
+++ b/libc/calls/getfiledescriptorsize.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/calls/getttysize.c b/libc/calls/getttysize.c
index a50731924..9b3c55b9d 100644
--- a/libc/calls/getttysize.c
+++ b/libc/calls/getttysize.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/termios.h"
 #include "libc/fmt/conv.h"
diff --git a/libc/calls/interrupts-nt.c b/libc/calls/interrupts-nt.c
index a5563b813..5e99ee86d 100644
--- a/libc/calls/interrupts-nt.c
+++ b/libc/calls/interrupts-nt.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/sig.internal.h"
diff --git a/libc/calls/ioctl_default.c b/libc/calls/ioctl_default.c
index 9df7412fa..f273d1d93 100644
--- a/libc/calls/ioctl_default.c
+++ b/libc/calls/ioctl_default.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/ioctl.h"
 #include "libc/calls/syscall-sysv.internal.h"
diff --git a/libc/calls/ioctl_siocgifconf-nt.c b/libc/calls/ioctl_siocgifconf-nt.c
index dcc94f4ab..73613bc06 100644
--- a/libc/calls/ioctl_siocgifconf-nt.c
+++ b/libc/calls/ioctl_siocgifconf-nt.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/intrin/cmpxchg.h"
 #include "libc/mem/mem.h"
diff --git a/libc/calls/ioctl_siocgifconf.c b/libc/calls/ioctl_siocgifconf.c
index 86f347523..cc60ce0f7 100644
--- a/libc/calls/ioctl_siocgifconf.c
+++ b/libc/calls/ioctl_siocgifconf.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/ioctl.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall-sysv.internal.h"
diff --git a/libc/calls/ioctl_tcsets.c b/libc/calls/ioctl_tcsets.c
index 339912b37..280a913c3 100644
--- a/libc/calls/ioctl_tcsets.c
+++ b/libc/calls/ioctl_tcsets.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/ioctl.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/calls/ioctl_tiocgwinsz-nt.c b/libc/calls/ioctl_tiocgwinsz-nt.c
index 91575dae5..75b8f3635 100644
--- a/libc/calls/ioctl_tiocgwinsz-nt.c
+++ b/libc/calls/ioctl_tiocgwinsz-nt.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/state.internal.h"
diff --git a/libc/calls/isdirectory.c b/libc/calls/isdirectory.c
index e73f84e62..c65a12c66 100644
--- a/libc/calls/isdirectory.c
+++ b/libc/calls/isdirectory.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/struct/metastat.internal.h"
diff --git a/libc/calls/isregularfile.c b/libc/calls/isregularfile.c
index 8e00446ae..5256d0c8f 100644
--- a/libc/calls/isregularfile.c
+++ b/libc/calls/isregularfile.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/struct/metastat.internal.h"
diff --git a/libc/calls/issymlink.c b/libc/calls/issymlink.c
index 2a59b0298..caf8f6f88 100644
--- a/libc/calls/issymlink.c
+++ b/libc/calls/issymlink.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/struct/metastat.internal.h"
diff --git a/libc/calls/kntprioritycombos.c b/libc/calls/kntprioritycombos.c
index 5d9abe47c..374745238 100644
--- a/libc/calls/kntprioritycombos.c
+++ b/libc/calls/kntprioritycombos.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/kntprioritycombos.internal.h"
 #include "libc/limits.h"
 #include "libc/macros.internal.h"
diff --git a/libc/calls/linkat.c b/libc/calls/linkat.c
index ed64b0706..0b52ef31b 100644
--- a/libc/calls/linkat.c
+++ b/libc/calls/linkat.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall-nt.internal.h"
diff --git a/libc/calls/lseek.c b/libc/calls/lseek.c
index 7b8daec86..b5f1e5bb0 100644
--- a/libc/calls/lseek.c
+++ b/libc/calls/lseek.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/calls/memtrack.greg.c b/libc/calls/memtrack.greg.c
index 484a39428..b35066329 100644
--- a/libc/calls/memtrack.greg.c
+++ b/libc/calls/memtrack.greg.c
@@ -17,9 +17,9 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/likely.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/likely.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/dce.h"
diff --git a/libc/calls/mkdirat.c b/libc/calls/mkdirat.c
index 153039b1a..da0a87438 100644
--- a/libc/calls/mkdirat.c
+++ b/libc/calls/mkdirat.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall-nt.internal.h"
diff --git a/libc/calls/mkntenvblock.c b/libc/calls/mkntenvblock.c
index f68ad045b..e30fa7a2e 100644
--- a/libc/calls/mkntenvblock.c
+++ b/libc/calls/mkntenvblock.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/arraylist2.internal.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/ntspawn.h"
 #include "libc/fmt/conv.h"
 #include "libc/intrin/kprintf.h"
diff --git a/libc/calls/mremap-sysv.greg.c b/libc/calls/mremap-sysv.greg.c
index 79b1c40bc..bda07dd1b 100644
--- a/libc/calls/mremap-sysv.greg.c
+++ b/libc/calls/mremap-sysv.greg.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/asmflag.h"
+#include "libc/intrin/asmflag.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/sysv/consts/map.h"
diff --git a/libc/calls/now.c b/libc/calls/now.c
index d04e02c6b..b3ff3eea0 100644
--- a/libc/calls/now.c
+++ b/libc/calls/now.c
@@ -17,9 +17,9 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/initializer.internal.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/initializer.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/clock_gettime.internal.h"
 #include "libc/calls/internal.h"
diff --git a/libc/calls/ntaccesscheck.c b/libc/calls/ntaccesscheck.c
index 367811257..a895f470f 100644
--- a/libc/calls/ntaccesscheck.c
+++ b/libc/calls/ntaccesscheck.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall_support-nt.internal.h"
diff --git a/libc/calls/ntspawn.c b/libc/calls/ntspawn.c
index 9f99129b6..043e1b403 100644
--- a/libc/calls/ntspawn.c
+++ b/libc/calls/ntspawn.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/pushpop.h"
+#include "libc/intrin/pushpop.h"
 #include "libc/calls/ntspawn.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall_support-nt.internal.h"
diff --git a/libc/calls/oldbench.c b/libc/calls/oldbench.c
index 2af1d90a5..d501f24ab 100644
--- a/libc/calls/oldbench.c
+++ b/libc/calls/oldbench.c
@@ -16,9 +16,9 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/initializer.internal.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/initializer.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/state.internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/calls/openat-metal.c b/libc/calls/openat-metal.c
index 352301f0e..120e2a278 100644
--- a/libc/calls/openat-metal.c
+++ b/libc/calls/openat-metal.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/metalfile.internal.h"
 #include "libc/mem/mem.h"
diff --git a/libc/calls/openat.c b/libc/calls/openat.c
index 59ccfb9da..10acd2f73 100644
--- a/libc/calls/openat.c
+++ b/libc/calls/openat.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/state.internal.h"
diff --git a/libc/calls/pledge-linux.c b/libc/calls/pledge-linux.c
index 3098cb97a..a3275c827 100644
--- a/libc/calls/pledge-linux.c
+++ b/libc/calls/pledge-linux.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/pledge.internal.h"
 #include "libc/calls/struct/bpf.h"
diff --git a/libc/calls/poll-metal.c b/libc/calls/poll-metal.c
index d3f9c93a7..dfc5617ec 100644
--- a/libc/calls/poll-metal.c
+++ b/libc/calls/poll-metal.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/internal.h"
 #include "libc/nexgen32e/rdtsc.h"
 #include "libc/nexgen32e/uart.internal.h"
diff --git a/libc/calls/poll-nt.c b/libc/calls/poll-nt.c
index b8cdfc1f9..0c2f47a1a 100644
--- a/libc/calls/poll-nt.c
+++ b/libc/calls/poll-nt.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/sig.internal.h"
diff --git a/libc/calls/poll.c b/libc/calls/poll.c
index bb40620dc..65da4ac1b 100644
--- a/libc/calls/poll.c
+++ b/libc/calls/poll.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/dce.h"
diff --git a/libc/calls/pread.c b/libc/calls/pread.c
index 6361e17b3..a96f14f2e 100644
--- a/libc/calls/pread.c
+++ b/libc/calls/pread.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/calls/preadv.c b/libc/calls/preadv.c
index f076c2026..fd3a7e13a 100644
--- a/libc/calls/preadv.c
+++ b/libc/calls/preadv.c
@@ -16,9 +16,9 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/likely.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/likely.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/state.internal.h"
diff --git a/libc/calls/pwritev.c b/libc/calls/pwritev.c
index 91f928e56..00f806912 100644
--- a/libc/calls/pwritev.c
+++ b/libc/calls/pwritev.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/likely.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/calls/read.c b/libc/calls/read.c
index 2f42ea22a..a15091e80 100644
--- a/libc/calls/read.c
+++ b/libc/calls/read.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/calls/readlinkat.c b/libc/calls/readlinkat.c
index 05484c370..a26071695 100644
--- a/libc/calls/readlinkat.c
+++ b/libc/calls/readlinkat.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall-nt.internal.h"
 #include "libc/calls/syscall-sysv.internal.h"
diff --git a/libc/calls/readv-nt.c b/libc/calls/readv-nt.c
index e4aa2ebf7..9dd2c4adb 100644
--- a/libc/calls/readv-nt.c
+++ b/libc/calls/readv-nt.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/internal.h"
 #include "libc/sock/internal.h"
 #include "libc/sock/syscall_fd.internal.h"
diff --git a/libc/calls/readv.c b/libc/calls/readv.c
index fe3981d26..4df11dcf7 100644
--- a/libc/calls/readv.c
+++ b/libc/calls/readv.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/likely.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/calls/realpath.c b/libc/calls/realpath.c
index 2a174a4cf..626ccac06 100644
--- a/libc/calls/realpath.c
+++ b/libc/calls/realpath.c
@@ -26,9 +26,9 @@
 │                                                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/errno.h"
diff --git a/libc/calls/renameat.c b/libc/calls/renameat.c
index ce66e3470..5253d42b0 100644
--- a/libc/calls/renameat.c
+++ b/libc/calls/renameat.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall-nt.internal.h"
diff --git a/libc/calls/reservefd.c b/libc/calls/reservefd.c
index c6a4ca6c2..919fba281 100644
--- a/libc/calls/reservefd.c
+++ b/libc/calls/reservefd.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/state.internal.h"
diff --git a/libc/calls/sched_setaffinity.c b/libc/calls/sched_setaffinity.c
index d5c7ab6d9..8979ff850 100644
--- a/libc/calls/sched_setaffinity.c
+++ b/libc/calls/sched_setaffinity.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/sched-sysv.internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/calls/setitimer-nt.c b/libc/calls/setitimer-nt.c
index 974ab8aa6..882e8369b 100644
--- a/libc/calls/setitimer-nt.c
+++ b/libc/calls/setitimer-nt.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/sig.internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/calls/setpriority-nt.c b/libc/calls/setpriority-nt.c
index aadb52c2e..fda743835 100644
--- a/libc/calls/setpriority-nt.c
+++ b/libc/calls/setpriority-nt.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/kntprioritycombos.internal.h"
 #include "libc/calls/syscall_support-nt.internal.h"
 #include "libc/nt/process.h"
diff --git a/libc/calls/sigaction.c b/libc/calls/sigaction.c
index 77478f01e..27f58805d 100644
--- a/libc/calls/sigaction.c
+++ b/libc/calls/sigaction.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/sig.internal.h"
diff --git a/libc/calls/sigprocmask.c b/libc/calls/sigprocmask.c
index 7247e9596..df1ff8499 100644
--- a/libc/calls/sigprocmask.c
+++ b/libc/calls/sigprocmask.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/sig.internal.h"
diff --git a/libc/calls/sigsuspend.c b/libc/calls/sigsuspend.c
index 978ecb3ad..e790e93c2 100644
--- a/libc/calls/sigsuspend.c
+++ b/libc/calls/sigsuspend.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/sig.internal.h"
diff --git a/libc/calls/strace.internal.h b/libc/calls/strace.internal.h
index 16c29f56d..c0e66fe80 100644
--- a/libc/calls/strace.internal.h
+++ b/libc/calls/strace.internal.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_CALLS_STRACE_INTERNAL_H_
 #define COSMOPOLITAN_LIBC_CALLS_STRACE_INTERNAL_H_
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/calls/struct/iovec.h"
 #include "libc/calls/struct/rlimit.h"
 #include "libc/calls/struct/sigaction.h"
diff --git a/libc/calls/uname.c b/libc/calls/uname.c
index 416ae3878..f7686770c 100644
--- a/libc/calls/uname.c
+++ b/libc/calls/uname.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/struct/utsname-netbsd.internal.h"
diff --git a/libc/calls/unlinkat.c b/libc/calls/unlinkat.c
index 18676c5c8..af0a26fd8 100644
--- a/libc/calls/unlinkat.c
+++ b/libc/calls/unlinkat.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall-nt.internal.h"
diff --git a/libc/calls/unsetenv.c b/libc/calls/unsetenv.c
index 36f80704b..4d2ebfa84 100644
--- a/libc/calls/unsetenv.c
+++ b/libc/calls/unsetenv.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/dce.h"
 #include "libc/mem/internal.h"
 #include "libc/runtime/runtime.h"
diff --git a/libc/calls/utimensat-sysv.c b/libc/calls/utimensat-sysv.c
index c2718e336..e8297fd39 100644
--- a/libc/calls/utimensat-sysv.c
+++ b/libc/calls/utimensat-sysv.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/internal.h"
 #include "libc/errno.h"
 #include "libc/fmt/conv.h"
diff --git a/libc/calls/utimensat.c b/libc/calls/utimensat.c
index 259ee98dd..ec4d48b47 100644
--- a/libc/calls/utimensat.c
+++ b/libc/calls/utimensat.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/asan.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
diff --git a/libc/calls/vdsofunc.greg.c b/libc/calls/vdsofunc.greg.c
index b54fd40e8..44828984e 100644
--- a/libc/calls/vdsofunc.greg.c
+++ b/libc/calls/vdsofunc.greg.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/elf/scalar.h"
diff --git a/libc/calls/write-nt.c b/libc/calls/write-nt.c
index 46110e534..d5462f204 100644
--- a/libc/calls/write-nt.c
+++ b/libc/calls/write-nt.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/sig.internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/calls/write.c b/libc/calls/write.c
index 5cfbcc581..3fd99c10f 100644
--- a/libc/calls/write.c
+++ b/libc/calls/write.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/struct/iovec.h"
diff --git a/libc/calls/writev-nt.c b/libc/calls/writev-nt.c
index fb6231aa1..49a31030f 100644
--- a/libc/calls/writev-nt.c
+++ b/libc/calls/writev-nt.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/internal.h"
 #include "libc/sock/internal.h"
 #include "libc/sysv/errfuns.h"
diff --git a/libc/calls/writev.c b/libc/calls/writev.c
index 0c6983215..74d5524e9 100644
--- a/libc/calls/writev.c
+++ b/libc/calls/writev.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/likely.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/dns/dnsheader.c b/libc/dns/dnsheader.c
index c66727d67..057c64f97 100644
--- a/libc/dns/dnsheader.c
+++ b/libc/dns/dnsheader.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dns/dnsheader.h"
 #include "libc/sysv/errfuns.h"
 
diff --git a/libc/dns/getaddrinfo.c b/libc/dns/getaddrinfo.c
index 17da3d03a..e4f31fbb4 100644
--- a/libc/dns/getaddrinfo.c
+++ b/libc/dns/getaddrinfo.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/dns/dns.h"
 #include "libc/dns/hoststxt.h"
diff --git a/libc/dns/gethoststxt.c b/libc/dns/gethoststxt.c
index 95cd09bec..32ff8dfce 100644
--- a/libc/dns/gethoststxt.c
+++ b/libc/dns/gethoststxt.c
@@ -16,9 +16,9 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/pushpop.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/pushpop.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/dce.h"
 #include "libc/dns/hoststxt.h"
diff --git a/libc/dns/getnameinfo.c b/libc/dns/getnameinfo.c
index c0be7d773..10c4e5845 100644
--- a/libc/dns/getnameinfo.c
+++ b/libc/dns/getnameinfo.c
@@ -24,7 +24,7 @@
 │ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR        │
 │ OTHER DEALINGS IN THE SOFTWARE.                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/dns/consts.h"
 #include "libc/dns/dns.h"
diff --git a/libc/dns/getresolvconf.c b/libc/dns/getresolvconf.c
index 5825f8e1a..e226ac13f 100644
--- a/libc/dns/getresolvconf.c
+++ b/libc/dns/getresolvconf.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/pushpop.h"
+#include "libc/intrin/pushpop.h"
 #include "libc/dce.h"
 #include "libc/dns/resolvconf.h"
 #include "libc/fmt/fmt.h"
diff --git a/libc/dns/lookupprotobyname.c b/libc/dns/lookupprotobyname.c
index 0df631fd9..ee97d1332 100644
--- a/libc/dns/lookupprotobyname.c
+++ b/libc/dns/lookupprotobyname.c
@@ -24,7 +24,7 @@
 │ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR        │
 │ OTHER DEALINGS IN THE SOFTWARE.                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/dce.h"
 #include "libc/dns/prototxt.h"
 #include "libc/errno.h"
diff --git a/libc/dns/lookupprotobynumber.c b/libc/dns/lookupprotobynumber.c
index 23eb2da31..8f92264a5 100644
--- a/libc/dns/lookupprotobynumber.c
+++ b/libc/dns/lookupprotobynumber.c
@@ -24,7 +24,7 @@
 │ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR        │
 │ OTHER DEALINGS IN THE SOFTWARE.                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/dce.h"
 #include "libc/dns/prototxt.h"
 #include "libc/errno.h"
diff --git a/libc/dns/lookupservicesbyname.c b/libc/dns/lookupservicesbyname.c
index 117730104..5a28ca309 100644
--- a/libc/dns/lookupservicesbyname.c
+++ b/libc/dns/lookupservicesbyname.c
@@ -24,7 +24,7 @@
 │ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR        │
 │ OTHER DEALINGS IN THE SOFTWARE.                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/dce.h"
 #include "libc/dns/servicestxt.h"
 #include "libc/errno.h"
diff --git a/libc/dns/lookupservicesbyport.c b/libc/dns/lookupservicesbyport.c
index 7895d7645..7b74b05d5 100644
--- a/libc/dns/lookupservicesbyport.c
+++ b/libc/dns/lookupservicesbyport.c
@@ -24,7 +24,7 @@
 │ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR        │
 │ OTHER DEALINGS IN THE SOFTWARE.                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/dce.h"
 #include "libc/dns/servicestxt.h"
 #include "libc/errno.h"
diff --git a/libc/dns/resolvedns.c b/libc/dns/resolvedns.c
index ca7cba0d8..fd88d3160 100644
--- a/libc/dns/resolvedns.c
+++ b/libc/dns/resolvedns.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/dns/consts.h"
 #include "libc/dns/dns.h"
diff --git a/libc/dns/resolvednsreverse.c b/libc/dns/resolvednsreverse.c
index 84135000e..8bedc774e 100644
--- a/libc/dns/resolvednsreverse.c
+++ b/libc/dns/resolvednsreverse.c
@@ -24,7 +24,7 @@
 │ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR        │
 │ OTHER DEALINGS IN THE SOFTWARE.                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/dns/consts.h"
 #include "libc/dns/dns.h"
diff --git a/libc/dns/resolvehostsreverse.c b/libc/dns/resolvehostsreverse.c
index 4fb77306e..32fa0fcc4 100644
--- a/libc/dns/resolvehostsreverse.c
+++ b/libc/dns/resolvehostsreverse.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/alg.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dns/consts.h"
 #include "libc/dns/dns.h"
 #include "libc/dns/hoststxt.h"
diff --git a/libc/fmt/fmt.c b/libc/fmt/fmt.c
index d30a85897..55ddd6b13 100644
--- a/libc/fmt/fmt.c
+++ b/libc/fmt/fmt.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/weaken.h"
 #include "libc/fmt/conv.h"
 #include "libc/fmt/fmt.h"
 #include "libc/fmt/fmt.internal.h"
diff --git a/libc/fmt/formatflex64.c b/libc/fmt/formatflex64.c
index 08fa73d91..74e654f3d 100644
--- a/libc/fmt/formatflex64.c
+++ b/libc/fmt/formatflex64.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/popcnt.h"
+#include "libc/intrin/popcnt.h"
 #include "libc/fmt/itoa.h"
 
 /**
diff --git a/libc/fmt/joinpaths.c b/libc/fmt/joinpaths.c
index 2f5738141..32f223779 100644
--- a/libc/fmt/joinpaths.c
+++ b/libc/fmt/joinpaths.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/str/path.h"
 #include "libc/str/str.h"
 #include "libc/sysv/errfuns.h"
diff --git a/libc/fmt/sprintf.c b/libc/fmt/sprintf.c
index 3cd64c860..5ec26e769 100644
--- a/libc/fmt/sprintf.c
+++ b/libc/fmt/sprintf.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/fmt/fmt.h"
 #include "libc/limits.h"
 #include "libc/log/log.h"
diff --git a/libc/fmt/stoa.c b/libc/fmt/stoa.c
index 94973bb9a..587662b06 100644
--- a/libc/fmt/stoa.c
+++ b/libc/fmt/stoa.c
@@ -17,9 +17,9 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
+#include "libc/intrin/weaken.h"
 #include "libc/fmt/fmt.internal.h"
 #include "libc/fmt/internal.h"
 #include "libc/nexgen32e/bsr.h"
diff --git a/libc/fmt/strerror.c b/libc/fmt/strerror.c
index 1fad70bb9..96e56d776 100644
--- a/libc/fmt/strerror.c
+++ b/libc/fmt/strerror.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/dce.h"
 #include "libc/fmt/fmt.h"
 #include "libc/str/str.h"
diff --git a/libc/fmt/vcscanf.c b/libc/fmt/vcscanf.c
index 6098dc2a6..a344e2a55 100644
--- a/libc/fmt/vcscanf.c
+++ b/libc/fmt/vcscanf.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/fmt/conv.h"
 #include "libc/fmt/fmt.h"
 #include "libc/mem/mem.h"
diff --git a/libc/bits/abs.c b/libc/intrin/abs.c
similarity index 100%
rename from libc/bits/abs.c
rename to libc/intrin/abs.c
diff --git a/libc/intrin/asan.c b/libc/intrin/asan.c
index 32943bee4..7801e69cd 100644
--- a/libc/intrin/asan.c
+++ b/libc/intrin/asan.c
@@ -18,8 +18,8 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/reverse.internal.h"
 #include "libc/assert.h"
-#include "libc/bits/likely.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/likely.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/state.internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/intrin/asmflag.h b/libc/intrin/asmflag.h
new file mode 100644
index 000000000..64013b14b
--- /dev/null
+++ b/libc/intrin/asmflag.h
@@ -0,0 +1,34 @@
+#ifndef COSMOPOLITAN_LIBC_BITS_ASMFLAG_H_
+#define COSMOPOLITAN_LIBC_BITS_ASMFLAG_H_
+#if !(__ASSEMBLER__ + __LINKER__ + 0)
+
+/*
+ * Constraints for virtual machine flags.
+ * @note we beseech clang devs for flag constraints
+ */
+#ifdef __GCC_ASM_FLAG_OUTPUTS__ /* GCC6+ CLANG10+ */
+#define CFLAG_CONSTRAINT  "=@ccc"
+#define CFLAG_ASM(OP)     OP
+#define ZFLAG_CONSTRAINT  "=@ccz"
+#define ZFLAG_ASM(OP)     OP
+#define OFLAG_CONSTRAINT  "=@cco"
+#define OFLAG_ASM(OP)     OP
+#define SFLAG_CONSTRAINT  "=@ccs"
+#define SFLAG_ASM(SP)     SP
+#define ABOVE_CONSTRAINT  "=@cca" /* i.e. !ZF && !CF */
+#define ABOVEFLAG_ASM(OP) OP
+#else
+#define CFLAG_CONSTRAINT  "=q"
+#define CFLAG_ASM(OP)     OP "\n\tsetc\t%b0"
+#define ZFLAG_CONSTRAINT  "=q"
+#define ZFLAG_ASM(OP)     OP "\n\tsetz\t%b0"
+#define OFLAG_CONSTRAINT  "=q"
+#define OFLAG_ASM(OP)     OP "\n\tseto\t%b0"
+#define SFLAG_CONSTRAINT  "=q"
+#define SFLAG_ASM(SP)     OP "\n\tsets\t%b0"
+#define ABOVE_CONSTRAINT  "=@cca"
+#define ABOVEFLAG_ASM(OP) OP "\n\tseta\t%b0"
+#endif
+
+#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
+#endif /* COSMOPOLITAN_LIBC_BITS_ASMFLAG_H_ */
diff --git a/libc/intrin/assertfail.greg.c b/libc/intrin/assertfail.greg.c
index 92e3823e1..bb860e137 100644
--- a/libc/intrin/assertfail.greg.c
+++ b/libc/intrin/assertfail.greg.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/state.internal.h"
 #include "libc/calls/syscall-sysv.internal.h"
diff --git a/libc/bits/atomic.h b/libc/intrin/atomic.h
similarity index 100%
rename from libc/bits/atomic.h
rename to libc/intrin/atomic.h
diff --git a/libc/bits/avx2intrin.internal.h b/libc/intrin/avx2intrin.internal.h
similarity index 99%
rename from libc/bits/avx2intrin.internal.h
rename to libc/intrin/avx2intrin.internal.h
index 2f3a45b68..cffe833a1 100644
--- a/libc/bits/avx2intrin.internal.h
+++ b/libc/intrin/avx2intrin.internal.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_BITS_AVX2INTRIN_H_
 #define COSMOPOLITAN_LIBC_BITS_AVX2INTRIN_H_
-#include "libc/bits/avxintrin.internal.h"
+#include "libc/intrin/avxintrin.internal.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 COSMOPOLITAN_C_START_
 
diff --git a/libc/bits/avxintrin.internal.h b/libc/intrin/avxintrin.internal.h
similarity index 100%
rename from libc/bits/avxintrin.internal.h
rename to libc/intrin/avxintrin.internal.h
diff --git a/libc/bits/bextra.c b/libc/intrin/bextra.c
similarity index 98%
rename from libc/bits/bextra.c
rename to libc/intrin/bextra.c
index 52a6b5f2e..5e5e52362 100644
--- a/libc/bits/bextra.c
+++ b/libc/intrin/bextra.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 
 /**
  * Extracts bit field from array.
diff --git a/libc/bits/bigword.internal.h b/libc/intrin/bigword.internal.h
similarity index 100%
rename from libc/bits/bigword.internal.h
rename to libc/intrin/bigword.internal.h
diff --git a/libc/bits/bitop.h b/libc/intrin/bitop.h
similarity index 100%
rename from libc/bits/bitop.h
rename to libc/intrin/bitop.h
diff --git a/libc/bits/bitreverse16.c b/libc/intrin/bitreverse16.c
similarity index 98%
rename from libc/bits/bitreverse16.c
rename to libc/intrin/bitreverse16.c
index 7769ec82c..8119066a9 100644
--- a/libc/bits/bitreverse16.c
+++ b/libc/intrin/bitreverse16.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 
 /**
  * Reverses bits in 16-bit word.
diff --git a/libc/bits/bitreverse32.c b/libc/intrin/bitreverse32.c
similarity index 97%
rename from libc/bits/bitreverse32.c
rename to libc/intrin/bitreverse32.c
index 126e5403a..b36d421ec 100644
--- a/libc/bits/bitreverse32.c
+++ b/libc/intrin/bitreverse32.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/bswap.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/bswap.h"
 
 /**
  * Reverses bits in 32-bit word.
diff --git a/libc/bits/bitreverse64.c b/libc/intrin/bitreverse64.c
similarity index 97%
rename from libc/bits/bitreverse64.c
rename to libc/intrin/bitreverse64.c
index 4bacc907e..8f03fc7b8 100644
--- a/libc/bits/bitreverse64.c
+++ b/libc/intrin/bitreverse64.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/bswap.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/bswap.h"
 
 /**
  * Reverses bits in 64-bit word.
diff --git a/libc/bits/bitreverse8.c b/libc/intrin/bitreverse8.c
similarity index 98%
rename from libc/bits/bitreverse8.c
rename to libc/intrin/bitreverse8.c
index e9788f47b..2e4cff0d4 100644
--- a/libc/bits/bitreverse8.c
+++ b/libc/intrin/bitreverse8.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 
 /**
  * Reverses bits in 8-bit word.
diff --git a/libc/intrin/bits.h b/libc/intrin/bits.h
new file mode 100644
index 000000000..d283f9aa8
--- /dev/null
+++ b/libc/intrin/bits.h
@@ -0,0 +1,164 @@
+#ifndef COSMOPOLITAN_LIBC_BITS_H_
+#define COSMOPOLITAN_LIBC_BITS_H_
+#if !(__ASSEMBLER__ + __LINKER__ + 0)
+COSMOPOLITAN_C_START_
+
+#define CheckUnsigned(x) ((x) / !((typeof(x))(-1) < 0))
+
+/*───────────────────────────────────────────────────────────────────────────│─╗
+│ cosmopolitan § bits                                                      ─╬─│┼
+╚────────────────────────────────────────────────────────────────────────────│*/
+
+extern const uint8_t kReverseBits[256];
+
+uint32_t gray(uint32_t) pureconst;
+uint32_t ungray(uint32_t) pureconst;
+int bitreverse8(int) libcesque pureconst;
+int bitreverse16(int) libcesque pureconst;
+uint32_t bitreverse32(uint32_t) libcesque pureconst;
+uint64_t bitreverse64(uint64_t) libcesque pureconst;
+unsigned long roundup2pow(unsigned long) libcesque pureconst;
+unsigned long roundup2log(unsigned long) libcesque pureconst;
+unsigned long rounddown2pow(unsigned long) libcesque pureconst;
+unsigned long hamming(unsigned long, unsigned long) pureconst;
+unsigned bextra(const unsigned *, size_t, char);
+
+/*───────────────────────────────────────────────────────────────────────────│─╗
+│ cosmopolitan § bits » no assembly required                               ─╬─│┼
+╚────────────────────────────────────────────────────────────────────────────│*/
+
+#define BITREVERSE8(X) (kReverseBits[255 & (X)])
+#define BITREVERSE16(X) \
+  (kReverseBits[0x00FF & (X)] << 8 | kReverseBits[(0xFF00 & (X)) >> 8])
+
+#ifdef __STRICT_ANSI__
+#define READ16LE(S) ((255 & (S)[1]) << 8 | (255 & (S)[0]))
+#define READ16BE(S) ((255 & (S)[0]) << 8 | (255 & (S)[1]))
+#define READ32LE(S)                                                    \
+  ((uint32_t)(255 & (S)[3]) << 030 | (uint32_t)(255 & (S)[2]) << 020 | \
+   (uint32_t)(255 & (S)[1]) << 010 | (uint32_t)(255 & (S)[0]) << 000)
+#define READ32BE(S)                                                    \
+  ((uint32_t)(255 & (S)[0]) << 030 | (uint32_t)(255 & (S)[1]) << 020 | \
+   (uint32_t)(255 & (S)[2]) << 010 | (uint32_t)(255 & (S)[3]) << 000)
+#define READ64LE(S)                                                    \
+  ((uint64_t)(255 & (S)[7]) << 070 | (uint64_t)(255 & (S)[6]) << 060 | \
+   (uint64_t)(255 & (S)[5]) << 050 | (uint64_t)(255 & (S)[4]) << 040 | \
+   (uint64_t)(255 & (S)[3]) << 030 | (uint64_t)(255 & (S)[2]) << 020 | \
+   (uint64_t)(255 & (S)[1]) << 010 | (uint64_t)(255 & (S)[0]) << 000)
+#define READ64BE(S)                                                    \
+  ((uint64_t)(255 & (S)[0]) << 070 | (uint64_t)(255 & (S)[1]) << 060 | \
+   (uint64_t)(255 & (S)[2]) << 050 | (uint64_t)(255 & (S)[3]) << 040 | \
+   (uint64_t)(255 & (S)[4]) << 030 | (uint64_t)(255 & (S)[5]) << 020 | \
+   (uint64_t)(255 & (S)[6]) << 010 | (uint64_t)(255 & (S)[7]) << 000)
+#else /* gcc needs help knowing above are mov if s isn't a variable */
+#define READ16LE(S)                            \
+  ({                                           \
+    const uint8_t *Ptr = (const uint8_t *)(S); \
+    Ptr[1] << 8 | Ptr[0];                      \
+  })
+#define READ16BE(S)                            \
+  ({                                           \
+    const uint8_t *Ptr = (const uint8_t *)(S); \
+    Ptr[0] << 8 | Ptr[1];                      \
+  })
+#define READ32LE(S)                                      \
+  ({                                                     \
+    const uint8_t *Ptr = (const uint8_t *)(S);           \
+    ((uint32_t)Ptr[3] << 030 | (uint32_t)Ptr[2] << 020 | \
+     (uint32_t)Ptr[1] << 010 | (uint32_t)Ptr[0] << 000); \
+  })
+#define READ32BE(S)                                      \
+  ({                                                     \
+    const uint8_t *Ptr = (const uint8_t *)(S);           \
+    ((uint32_t)Ptr[0] << 030 | (uint32_t)Ptr[1] << 020 | \
+     (uint32_t)Ptr[2] << 010 | (uint32_t)Ptr[3] << 000); \
+  })
+#define READ64LE(S)                                      \
+  ({                                                     \
+    const uint8_t *Ptr = (const uint8_t *)(S);           \
+    ((uint64_t)Ptr[7] << 070 | (uint64_t)Ptr[6] << 060 | \
+     (uint64_t)Ptr[5] << 050 | (uint64_t)Ptr[4] << 040 | \
+     (uint64_t)Ptr[3] << 030 | (uint64_t)Ptr[2] << 020 | \
+     (uint64_t)Ptr[1] << 010 | (uint64_t)Ptr[0] << 000); \
+  })
+#define READ64BE(S)                                      \
+  ({                                                     \
+    const uint8_t *Ptr = (const uint8_t *)(S);           \
+    ((uint64_t)Ptr[0] << 070 | (uint64_t)Ptr[1] << 060 | \
+     (uint64_t)Ptr[2] << 050 | (uint64_t)Ptr[3] << 040 | \
+     (uint64_t)Ptr[4] << 030 | (uint64_t)Ptr[5] << 020 | \
+     (uint64_t)Ptr[6] << 010 | (uint64_t)Ptr[7] << 000); \
+  })
+#endif
+
+#define WRITE16LE(P, V)                        \
+  ((P)[0] = (0x00000000000000FF & (V)) >> 000, \
+   (P)[1] = (0x000000000000FF00 & (V)) >> 010, (P) + 2)
+#define WRITE16BE(P, V)                        \
+  ((P)[0] = (0x000000000000FF00 & (V)) >> 010, \
+   (P)[1] = (0x00000000000000FF & (V)) >> 000, (P) + 2)
+#define WRITE32LE(P, V)                        \
+  ((P)[0] = (0x00000000000000FF & (V)) >> 000, \
+   (P)[1] = (0x000000000000FF00 & (V)) >> 010, \
+   (P)[2] = (0x0000000000FF0000 & (V)) >> 020, \
+   (P)[3] = (0x00000000FF000000 & (V)) >> 030, (P) + 4)
+#define WRITE32BE(P, V)                        \
+  ((P)[0] = (0x00000000FF000000 & (V)) >> 030, \
+   (P)[1] = (0x0000000000FF0000 & (V)) >> 020, \
+   (P)[2] = (0x000000000000FF00 & (V)) >> 010, \
+   (P)[3] = (0x00000000000000FF & (V)) >> 000, (P) + 4)
+#define WRITE64LE(P, V)                        \
+  ((P)[0] = (0x00000000000000FF & (V)) >> 000, \
+   (P)[1] = (0x000000000000FF00 & (V)) >> 010, \
+   (P)[2] = (0x0000000000FF0000 & (V)) >> 020, \
+   (P)[3] = (0x00000000FF000000 & (V)) >> 030, \
+   (P)[4] = (0x000000FF00000000 & (V)) >> 040, \
+   (P)[5] = (0x0000FF0000000000 & (V)) >> 050, \
+   (P)[6] = (0x00FF000000000000 & (V)) >> 060, \
+   (P)[7] = (0xFF00000000000000 & (V)) >> 070, (P) + 8)
+#define WRITE64BE(P, V)                        \
+  ((P)[0] = (0xFF00000000000000 & (V)) >> 070, \
+   (P)[1] = (0x00FF000000000000 & (V)) >> 060, \
+   (P)[2] = (0x0000FF0000000000 & (V)) >> 050, \
+   (P)[3] = (0x000000FF00000000 & (V)) >> 040, \
+   (P)[4] = (0x00000000FF000000 & (V)) >> 030, \
+   (P)[5] = (0x0000000000FF0000 & (V)) >> 020, \
+   (P)[6] = (0x000000000000FF00 & (V)) >> 010, \
+   (P)[7] = (0x00000000000000FF & (V)) >> 000, (P) + 8)
+
+/*───────────────────────────────────────────────────────────────────────────│─╗
+│ cosmopolitan § bits » some assembly required                             ─╬─│┼
+╚────────────────────────────────────────────────────────────────────────────│*/
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+
+#define lockinc(MEM) __ArithmeticOp1("lock inc", MEM)
+#define lockdec(MEM) __ArithmeticOp1("lock dec", MEM)
+#define locknot(MEM) __ArithmeticOp1("lock not", MEM)
+#define lockneg(MEM) __ArithmeticOp1("lock neg", MEM)
+
+#define lockaddeq(MEM, VAL) __ArithmeticOp2("lock add", VAL, MEM)
+#define locksubeq(MEM, VAL) __ArithmeticOp2("lock sub", VAL, MEM)
+#define lockxoreq(MEM, VAL) __ArithmeticOp2("lock xor", VAL, MEM)
+#define lockandeq(MEM, VAL) __ArithmeticOp2("lock and", VAL, MEM)
+#define lockoreq(MEM, VAL)  __ArithmeticOp2("lock or", VAL, MEM)
+
+/*───────────────────────────────────────────────────────────────────────────│─╗
+│ cosmopolitan § bits » implementation details                             ─╬─│┼
+╚────────────────────────────────────────────────────────────────────────────│*/
+
+#define __ArithmeticOp1(OP, MEM)                               \
+  ({                                                           \
+    asm(OP "%z0\t%0" : "+m"(*(MEM)) : /* no inputs */ : "cc"); \
+    MEM;                                                       \
+  })
+
+#define __ArithmeticOp2(OP, VAL, MEM)                          \
+  ({                                                           \
+    asm(OP "%z0\t%1,%0" : "+m,m"(*(MEM)) : "i,r"(VAL) : "cc"); \
+    MEM;                                                       \
+  })
+
+#endif /* __GNUC__ && !__STRICT_ANSI__ */
+COSMOPOLITAN_C_END_
+#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
+#endif /* COSMOPOLITAN_LIBC_BITS_H_ */
diff --git a/libc/intrin/bswap.h b/libc/intrin/bswap.h
new file mode 100644
index 000000000..1dad0e4b5
--- /dev/null
+++ b/libc/intrin/bswap.h
@@ -0,0 +1,18 @@
+#ifndef COSMOPOLITAN_LIBC_BITS_BSWAP_H_
+#define COSMOPOLITAN_LIBC_BITS_BSWAP_H_
+#if !(__ASSEMBLER__ + __LINKER__ + 0)
+COSMOPOLITAN_C_START_
+
+uint16_t bswap_16(uint16_t) pureconst;
+uint32_t bswap_32(uint32_t) pureconst;
+uint32_t bswap_64(uint32_t) pureconst;
+
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+#define bswap_16(x) __builtin_bswap16(x)
+#define bswap_32(x) __builtin_bswap32(x)
+#define bswap_64(x) __builtin_bswap64(x)
+#endif /* defined(__GNUC__) && !defined(__STRICT_ANSI__) */
+
+COSMOPOLITAN_C_END_
+#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
+#endif /* COSMOPOLITAN_LIBC_BITS_BSWAP_H_ */
diff --git a/libc/intrin/closehandle.c b/libc/intrin/closehandle.c
index 5d32fc810..b6a2a6a16 100644
--- a/libc/intrin/closehandle.c
+++ b/libc/intrin/closehandle.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall_support-nt.internal.h"
 #include "libc/log/log.h"
diff --git a/libc/intrin/cmpxchg.h b/libc/intrin/cmpxchg.h
index 2f560c813..3ba5a734a 100644
--- a/libc/intrin/cmpxchg.h
+++ b/libc/intrin/cmpxchg.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_INTRIN_CMPXCHG_H_
 #define COSMOPOLITAN_LIBC_INTRIN_CMPXCHG_H_
-#include "libc/bits/asmflag.h"
+#include "libc/intrin/asmflag.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 COSMOPOLITAN_C_START_
 
diff --git a/libc/intrin/cmpxchg16b.internal.h b/libc/intrin/cmpxchg16b.internal.h
index a254d9fba..897566adc 100644
--- a/libc/intrin/cmpxchg16b.internal.h
+++ b/libc/intrin/cmpxchg16b.internal.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_BITS_CMPXCHG16B_INTERNAL_H_
 #define COSMOPOLITAN_LIBC_BITS_CMPXCHG16B_INTERNAL_H_
-#include "libc/bits/asmflag.h"
+#include "libc/intrin/asmflag.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 COSMOPOLITAN_C_START_
 
diff --git a/libc/bits/countbits.c b/libc/intrin/countbits.c
similarity index 99%
rename from libc/bits/countbits.c
rename to libc/intrin/countbits.c
index 4139d66f0..a7f9c2793 100644
--- a/libc/bits/countbits.c
+++ b/libc/intrin/countbits.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dce.h"
 #include "libc/nexgen32e/x86feature.h"
 
diff --git a/libc/intrin/cxaatexit.c b/libc/intrin/cxaatexit.c
index bfd2a18d9..bbcbcbf64 100644
--- a/libc/intrin/cxaatexit.c
+++ b/libc/intrin/cxaatexit.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/intrin/cxaatexit.internal.h"
 #include "libc/macros.internal.h"
diff --git a/libc/intrin/cxafinalize.c b/libc/intrin/cxafinalize.c
index b7f76c4c6..22bd58514 100644
--- a/libc/intrin/cxafinalize.c
+++ b/libc/intrin/cxafinalize.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/intrin/cxaatexit.internal.h"
 #include "libc/mem/mem.h"
diff --git a/libc/intrin/describesigset.c b/libc/intrin/describesigset.c
index 62faa59fd..eab234543 100644
--- a/libc/intrin/describesigset.c
+++ b/libc/intrin/describesigset.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/popcnt.h"
+#include "libc/intrin/popcnt.h"
 #include "libc/dce.h"
 #include "libc/intrin/asan.internal.h"
 #include "libc/intrin/describeflags.internal.h"
diff --git a/libc/bits/emmintrin.internal.h b/libc/intrin/emmintrin.internal.h
similarity index 99%
rename from libc/bits/emmintrin.internal.h
rename to libc/intrin/emmintrin.internal.h
index d3741e7ce..abd28478d 100644
--- a/libc/bits/emmintrin.internal.h
+++ b/libc/intrin/emmintrin.internal.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_BITS_EMMINTRIN_H_
 #define COSMOPOLITAN_LIBC_BITS_EMMINTRIN_H_
-#include "libc/bits/xmmintrin.internal.h"
+#include "libc/intrin/xmmintrin.internal.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 
 /*───────────────────────────────────────────────────────────────────────────│─╗
diff --git a/libc/bits/ezlea.h b/libc/intrin/ezlea.h
similarity index 100%
rename from libc/bits/ezlea.h
rename to libc/intrin/ezlea.h
diff --git a/libc/intrin/g_fds.c b/libc/intrin/g_fds.c
index 549bb701d..652267ade 100644
--- a/libc/intrin/g_fds.c
+++ b/libc/intrin/g_fds.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/pushpop.h"
+#include "libc/intrin/pushpop.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/intrin/pthread.h"
diff --git a/libc/bits/gray.c b/libc/intrin/gray.c
similarity index 98%
rename from libc/bits/gray.c
rename to libc/intrin/gray.c
index 11f984daf..2d2bef523 100644
--- a/libc/bits/gray.c
+++ b/libc/intrin/gray.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 
 /**
  * Returns gray code for x.
diff --git a/libc/bits/hamming.c b/libc/intrin/hamming.c
similarity index 98%
rename from libc/bits/hamming.c
rename to libc/intrin/hamming.c
index e7d27df92..450e3ee9c 100644
--- a/libc/bits/hamming.c
+++ b/libc/intrin/hamming.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/popcnt.h"
+#include "libc/intrin/popcnt.h"
 
 /**
  * Counts number of different bits.
diff --git a/libc/bits/hilbert.c b/libc/intrin/hilbert.c
similarity index 98%
rename from libc/bits/hilbert.c
rename to libc/intrin/hilbert.c
index bdfb94fda..64a981309 100644
--- a/libc/bits/hilbert.c
+++ b/libc/intrin/hilbert.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/hilbert.h"
+#include "libc/intrin/hilbert.h"
 
 static axdx_t RotateQuadrant(long n, long y, long x, long ry, long rx) {
   long t;
diff --git a/libc/bits/hilbert.h b/libc/intrin/hilbert.h
similarity index 100%
rename from libc/bits/hilbert.h
rename to libc/intrin/hilbert.h
diff --git a/libc/bits/initializer.internal.h b/libc/intrin/initializer.internal.h
similarity index 100%
rename from libc/bits/initializer.internal.h
rename to libc/intrin/initializer.internal.h
diff --git a/libc/intrin/kprintf.greg.c b/libc/intrin/kprintf.greg.c
index 7e13ffe7b..f34340278 100644
--- a/libc/intrin/kprintf.greg.c
+++ b/libc/intrin/kprintf.greg.c
@@ -17,10 +17,10 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #define ShouldUseMsabiAttribute() 1
-#include "libc/bits/bits.h"
-#include "libc/bits/likely.h"
-#include "libc/bits/safemacros.internal.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/likely.h"
+#include "libc/intrin/safemacros.internal.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/state.internal.h"
 #include "libc/calls/syscall-sysv.internal.h"
diff --git a/libc/intrin/likely.h b/libc/intrin/likely.h
new file mode 100644
index 000000000..3f96b4cf8
--- /dev/null
+++ b/libc/intrin/likely.h
@@ -0,0 +1,21 @@
+#ifndef COSMOPOLITAN_LIBC_BITS_LIKELY_H_
+#define COSMOPOLITAN_LIBC_BITS_LIKELY_H_
+#if !(__ASSEMBLER__ + __LINKER__ + 0)
+
+#define LIKELY(x)   __builtin_expect(!!(x), 1)
+#define UNLIKELY(x) __builtin_expect(!!(x), 0)
+
+#if __GNUC__ + 0 >= 9 && !defined(__chibicc__)
+#define VERY_LIKELY(x) __builtin_expect_with_probability(!!(x), 1, 0.999)
+#else
+#define VERY_LIKELY(x) LIKELY(x)
+#endif
+
+#if __GNUC__ + 0 >= 9 && !defined(__chibicc__)
+#define VERY_UNLIKELY(x) __builtin_expect_with_probability(!!(x), 0, 0.999)
+#else
+#define VERY_UNLIKELY(x) UNLIKELY(x)
+#endif
+
+#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
+#endif /* COSMOPOLITAN_LIBC_BITS_LIKELY_H_ */
diff --git a/libc/intrin/lockcmpxchg.h b/libc/intrin/lockcmpxchg.h
index 8079c6309..6f8b687ed 100644
--- a/libc/intrin/lockcmpxchg.h
+++ b/libc/intrin/lockcmpxchg.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_INTRIN_LOCKCMPXCHG_H_
 #define COSMOPOLITAN_LIBC_INTRIN_LOCKCMPXCHG_H_
-#include "libc/bits/asmflag.h"
+#include "libc/intrin/asmflag.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 COSMOPOLITAN_C_START_
 
diff --git a/libc/intrin/lockcmpxchg16b.h b/libc/intrin/lockcmpxchg16b.h
index 3a6196099..7e3158f41 100644
--- a/libc/intrin/lockcmpxchg16b.h
+++ b/libc/intrin/lockcmpxchg16b.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_BITS_LOCKCMPXCHG16B_H_
 #define COSMOPOLITAN_LIBC_BITS_LOCKCMPXCHG16B_H_
-#include "libc/bits/asmflag.h"
+#include "libc/intrin/asmflag.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 COSMOPOLITAN_C_START_
 
diff --git a/libc/intrin/lockcmpxchgp.h b/libc/intrin/lockcmpxchgp.h
index fdf12d3ab..3b4c010c7 100644
--- a/libc/intrin/lockcmpxchgp.h
+++ b/libc/intrin/lockcmpxchgp.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_INTRIN_LOCKCMPXCHGP_H_
 #define COSMOPOLITAN_LIBC_INTRIN_LOCKCMPXCHGP_H_
-#include "libc/bits/asmflag.h"
+#include "libc/intrin/asmflag.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 COSMOPOLITAN_C_START_
 
diff --git a/libc/intrin/memcmp.c b/libc/intrin/memcmp.c
index 3793577ef..6826dbfc6 100644
--- a/libc/intrin/memcmp.c
+++ b/libc/intrin/memcmp.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/dce.h"
 #include "libc/nexgen32e/x86feature.h"
 #include "libc/str/str.h"
diff --git a/libc/intrin/midpoint.h b/libc/intrin/midpoint.h
new file mode 100644
index 000000000..aa013453f
--- /dev/null
+++ b/libc/intrin/midpoint.h
@@ -0,0 +1,32 @@
+#ifndef COSMOPOLITAN_LIBC_BITS_MIDPOINT_H_
+#define COSMOPOLITAN_LIBC_BITS_MIDPOINT_H_
+#include "libc/assert.h"
+#if !(__ASSEMBLER__ + __LINKER__ + 0)
+
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && defined(__x86__)
+/**
+ * Computes `(a + b) / 2` assuming unsigned.
+ *
+ * This implementation is the fastest on AMD Zen architecture.
+ */
+#define _midpoint(a, b)         \
+  ({                            \
+    typeof((a) + (b)) a_ = (a); \
+    typeof(a_) b_ = (b);        \
+    assert(a_ >= 0);            \
+    assert(b_ >= 0);            \
+    asm("add\t%1,%0\n\t"        \
+        "rcr\t%0"               \
+        : "+r"(a_)              \
+        : "r"(b_));             \
+    a_;                         \
+  })
+#else
+/**
+ * Computes `(a + b) / 2` assuming unsigned.
+ */
+#define _midpoint(a, b) (((a) & (b)) + ((a) ^ (b)) / 2)
+#endif /* __GNUC__ && !__STRICT_ANSI__ && x86 */
+
+#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
+#endif /* COSMOPOLITAN_LIBC_BITS_MIDPOINT_H_ */
diff --git a/libc/bits/morton.c b/libc/intrin/morton.c
similarity index 98%
rename from libc/bits/morton.c
rename to libc/intrin/morton.c
index 9cf8141ae..d0d4c5753 100644
--- a/libc/bits/morton.c
+++ b/libc/intrin/morton.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/morton.h"
+#include "libc/intrin/morton.h"
 
 /**
  * Interleaves bits.
diff --git a/libc/bits/morton.h b/libc/intrin/morton.h
similarity index 100%
rename from libc/bits/morton.h
rename to libc/intrin/morton.h
diff --git a/libc/bits/newbie.h b/libc/intrin/newbie.h
similarity index 98%
rename from libc/bits/newbie.h
rename to libc/intrin/newbie.h
index 5a0a673d3..2d29f8fba 100644
--- a/libc/bits/newbie.h
+++ b/libc/intrin/newbie.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_BITS_NEWBIE_H_
 #define COSMOPOLITAN_LIBC_BITS_NEWBIE_H_
-#include "libc/bits/bswap.h"
+#include "libc/intrin/bswap.h"
 
 /*
  * Macros for newbies.
diff --git a/libc/bits/pmmintrin.internal.h b/libc/intrin/pmmintrin.internal.h
similarity index 100%
rename from libc/bits/pmmintrin.internal.h
rename to libc/intrin/pmmintrin.internal.h
diff --git a/libc/intrin/popcnt.c b/libc/intrin/popcnt.c
index f49abae78..0df92f297 100644
--- a/libc/intrin/popcnt.c
+++ b/libc/intrin/popcnt.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/popcnt.h"
+#include "libc/intrin/popcnt.h"
 
 /**
  * Returns number of bits set in integer.
diff --git a/libc/bits/popcnt.h b/libc/intrin/popcnt.h
similarity index 100%
rename from libc/bits/popcnt.h
rename to libc/intrin/popcnt.h
diff --git a/libc/intrin/pthread_mutex_lock.c b/libc/intrin/pthread_mutex_lock.c
index bf6c36a44..686e4aaf1 100644
--- a/libc/intrin/pthread_mutex_lock.c
+++ b/libc/intrin/pthread_mutex_lock.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/asmflag.h"
-#include "libc/bits/atomic.h"
+#include "libc/intrin/asmflag.h"
+#include "libc/intrin/atomic.h"
 #include "libc/calls/calls.h"
 #include "libc/dce.h"
 #include "libc/errno.h"
diff --git a/libc/intrin/pthread_mutex_trylock.c b/libc/intrin/pthread_mutex_trylock.c
index 8e995a4d4..7a2b39474 100644
--- a/libc/intrin/pthread_mutex_trylock.c
+++ b/libc/intrin/pthread_mutex_trylock.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/atomic.h"
+#include "libc/intrin/atomic.h"
 #include "libc/calls/calls.h"
 #include "libc/errno.h"
 #include "libc/intrin/pthread.h"
diff --git a/libc/intrin/pthread_mutex_unlock.c b/libc/intrin/pthread_mutex_unlock.c
index 37070a210..3a82fa163 100644
--- a/libc/intrin/pthread_mutex_unlock.c
+++ b/libc/intrin/pthread_mutex_unlock.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/atomic.h"
+#include "libc/intrin/atomic.h"
 #include "libc/calls/calls.h"
 #include "libc/dce.h"
 #include "libc/errno.h"
diff --git a/libc/intrin/pthread_mutex_wake.c b/libc/intrin/pthread_mutex_wake.c
index 9f5091382..4a7a42f6a 100644
--- a/libc/intrin/pthread_mutex_wake.c
+++ b/libc/intrin/pthread_mutex_wake.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/atomic.h"
+#include "libc/intrin/atomic.h"
 #include "libc/dce.h"
 #include "libc/intrin/futex.internal.h"
 #include "libc/intrin/pthread.h"
diff --git a/libc/intrin/pthread_once.c b/libc/intrin/pthread_once.c
index 02d870c2a..1b96a5b81 100644
--- a/libc/intrin/pthread_once.c
+++ b/libc/intrin/pthread_once.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/atomic.h"
+#include "libc/intrin/atomic.h"
 #include "libc/calls/calls.h"
 #include "libc/intrin/pthread.h"
 
diff --git a/libc/bits/pushpop.h b/libc/intrin/pushpop.h
similarity index 100%
rename from libc/bits/pushpop.h
rename to libc/intrin/pushpop.h
diff --git a/libc/intrin/quick_exit.c b/libc/intrin/quick_exit.c
index ec9c3be73..40532c777 100644
--- a/libc/intrin/quick_exit.c
+++ b/libc/intrin/quick_exit.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/dce.h"
 #include "libc/nt/console.h"
diff --git a/libc/bits/rounddown2pow.c b/libc/intrin/rounddown2pow.c
similarity index 98%
rename from libc/bits/rounddown2pow.c
rename to libc/intrin/rounddown2pow.c
index cb1f4d3bf..9b11ea88a 100644
--- a/libc/bits/rounddown2pow.c
+++ b/libc/intrin/rounddown2pow.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/nexgen32e/bsr.h"
 
 /**
diff --git a/libc/bits/roundup2log.c b/libc/intrin/roundup2log.c
similarity index 98%
rename from libc/bits/roundup2log.c
rename to libc/intrin/roundup2log.c
index ee5ac39b8..be46e1c62 100644
--- a/libc/bits/roundup2log.c
+++ b/libc/intrin/roundup2log.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/nexgen32e/bsr.h"
 
 /**
diff --git a/libc/bits/roundup2pow.c b/libc/intrin/roundup2pow.c
similarity index 98%
rename from libc/bits/roundup2pow.c
rename to libc/intrin/roundup2pow.c
index 916c26476..0ce1119cc 100644
--- a/libc/bits/roundup2pow.c
+++ b/libc/intrin/roundup2pow.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/nexgen32e/bsr.h"
 
 /**
diff --git a/libc/intrin/safemacros.internal.h b/libc/intrin/safemacros.internal.h
new file mode 100644
index 000000000..ac1c1e03b
--- /dev/null
+++ b/libc/intrin/safemacros.internal.h
@@ -0,0 +1,71 @@
+#ifndef COSMOPOLITAN_LIBC_BITS_SAFEMACROS_H_
+#define COSMOPOLITAN_LIBC_BITS_SAFEMACROS_H_
+#include "libc/macros.internal.h"
+#include "libc/runtime/runtime.h"
+#if !(__ASSEMBLER__ + __LINKER__ + 0)
+COSMOPOLITAN_C_START_
+
+#define min(x, y)              \
+  ({                           \
+    autotype(x) MinX = (x);    \
+    autotype(y) MinY = (y);    \
+    MinX < MinY ? MinX : MinY; \
+  })
+
+#define max(x, y)              \
+  ({                           \
+    autotype(x) MaxX = (x);    \
+    autotype(y) MaxY = (y);    \
+    MaxX > MaxY ? MaxX : MaxY; \
+  })
+
+#define roundup(x, k)            \
+  ({                             \
+    autotype(x) RoundupX = (x);  \
+    autotype(k) RoundupK = (k);  \
+    ROUNDUP(RoundupX, RoundupK); \
+  })
+
+#define rounddown(x, k)                \
+  ({                                   \
+    autotype(x) RounddownX = (x);      \
+    autotype(k) RounddownK = (k);      \
+    ROUNDDOWN(RounddownX, RounddownK); \
+  })
+
+#define isempty(s)              \
+  ({                            \
+    autotype(s) IsEmptyS = (s); \
+    !IsEmptyS || !(*IsEmptyS);  \
+  })
+
+#define nulltoempty(s)                \
+  ({                                  \
+    autotype(s) NullToEmptyS = (s);   \
+    NullToEmptyS ? NullToEmptyS : ""; \
+  })
+
+#define firstnonnull(a, b)                         \
+  ({                                               \
+    autotype(a) FirstNonNullA = (a);               \
+    autotype(a) FirstNonNullB = (b);               \
+    if (!FirstNonNullA && !FirstNonNullB) abort(); \
+    FirstNonNullA ? FirstNonNullA : FirstNonNullB; \
+  })
+
+#define emptytonull(s)                                      \
+  ({                                                        \
+    autotype(s) EmptyToNullS = (s);                         \
+    EmptyToNullS && !(*EmptyToNullS) ? NULL : EmptyToNullS; \
+  })
+
+#define unsignedsubtract(a, b)                                 \
+  ({                                                           \
+    uint64_t UnsubA = (a);                                     \
+    uint64_t UnsubB = (b);                                     \
+    UnsubA >= UnsubB ? UnsubA - UnsubB : ~UnsubB + UnsubA + 1; \
+  })
+
+COSMOPOLITAN_C_END_
+#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
+#endif /* COSMOPOLITAN_LIBC_BITS_SAFEMACROS_H_ */
diff --git a/libc/bits/segmentation.h b/libc/intrin/segmentation.h
similarity index 100%
rename from libc/bits/segmentation.h
rename to libc/intrin/segmentation.h
diff --git a/libc/bits/shaintrin.internal.h b/libc/intrin/shaintrin.internal.h
similarity index 95%
rename from libc/bits/shaintrin.internal.h
rename to libc/intrin/shaintrin.internal.h
index 6d1ad0ceb..c2e02117a 100644
--- a/libc/bits/shaintrin.internal.h
+++ b/libc/intrin/shaintrin.internal.h
@@ -1,7 +1,7 @@
 #ifndef COSMOPOLITAN_LIBC_BITS_SHAINTRIN_H_
 #define COSMOPOLITAN_LIBC_BITS_SHAINTRIN_H_
-#include "libc/bits/emmintrin.internal.h"
-#include "libc/bits/xmmintrin.internal.h"
+#include "libc/intrin/emmintrin.internal.h"
+#include "libc/intrin/xmmintrin.internal.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 
 #define _mm_sha1rnds4_epu32(M128I_0, M128I_1, MEM)     \
diff --git a/libc/bits/smmintrin.internal.h b/libc/intrin/smmintrin.internal.h
similarity index 100%
rename from libc/bits/smmintrin.internal.h
rename to libc/intrin/smmintrin.internal.h
diff --git a/libc/intrin/strerror_wr.greg.c b/libc/intrin/strerror_wr.greg.c
index 0038b1fc9..c6b94fc4b 100644
--- a/libc/intrin/strerror_wr.greg.c
+++ b/libc/intrin/strerror_wr.greg.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/dce.h"
 #include "libc/fmt/fmt.h"
 #include "libc/intrin/kprintf.h"
diff --git a/libc/bits/tmmintrin.internal.h b/libc/intrin/tmmintrin.internal.h
similarity index 95%
rename from libc/bits/tmmintrin.internal.h
rename to libc/intrin/tmmintrin.internal.h
index 95d237cf1..58e3ce657 100644
--- a/libc/bits/tmmintrin.internal.h
+++ b/libc/intrin/tmmintrin.internal.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_BITS_TMMINTRIN_H_
 #define COSMOPOLITAN_LIBC_BITS_TMMINTRIN_H_
-#include "libc/bits/emmintrin.internal.h"
+#include "libc/intrin/emmintrin.internal.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 
 /*───────────────────────────────────────────────────────────────────────────│─╗
diff --git a/libc/intrin/ubsan.c b/libc/intrin/ubsan.c
index 6917922c1..644dcb9ce 100644
--- a/libc/intrin/ubsan.c
+++ b/libc/intrin/ubsan.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/reverse.internal.h"
-#include "libc/bits/pushpop.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/pushpop.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/fmt/fmt.h"
diff --git a/libc/bits/ungray.c b/libc/intrin/ungray.c
similarity index 98%
rename from libc/bits/ungray.c
rename to libc/intrin/ungray.c
index 7435b9d72..f9b3ce120 100644
--- a/libc/bits/ungray.c
+++ b/libc/intrin/ungray.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 
 /**
  * Decodes gray code.
diff --git a/libc/bits/unmorton.c b/libc/intrin/unmorton.c
similarity index 98%
rename from libc/bits/unmorton.c
rename to libc/intrin/unmorton.c
index 8540bd5c4..5f98e1c28 100644
--- a/libc/bits/unmorton.c
+++ b/libc/intrin/unmorton.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/morton.h"
+#include "libc/intrin/morton.h"
 
 static unsigned long GetOddBits(unsigned long x) {
   x = (x | x >> 000) & 0x5555555555555555;
diff --git a/libc/intrin/wait0.c b/libc/intrin/wait0.c
index 79a123220..0b145ced4 100644
--- a/libc/intrin/wait0.c
+++ b/libc/intrin/wait0.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/atomic.h"
+#include "libc/intrin/atomic.h"
 #include "libc/calls/calls.h"
 #include "libc/dce.h"
 #include "libc/errno.h"
diff --git a/libc/intrin/weaken.h b/libc/intrin/weaken.h
new file mode 100644
index 000000000..ca5000570
--- /dev/null
+++ b/libc/intrin/weaken.h
@@ -0,0 +1,28 @@
+#ifndef COSMOPOLITAN_LIBC_BITS_WEAKEN_H_
+#define COSMOPOLITAN_LIBC_BITS_WEAKEN_H_
+#include "libc/intrin/ezlea.h"
+#if !(__ASSEMBLER__ + __LINKER__ + 0)
+#ifndef __STRICT_ANSI__
+
+#define weaken(symbol) ((const typeof(&(symbol)))weakaddr(#symbol))
+
+#define strongaddr(symbolstr)                \
+  ({                                         \
+    intptr_t waddr;                          \
+    asm(ezlea(symbolstr) "0" : "=r"(waddr)); \
+    waddr;                                   \
+  })
+
+#define weakaddr(symbolstr)                                             \
+  ({                                                                    \
+    intptr_t waddr;                                                     \
+    asm(".weak\t" symbolstr "\n\t" ezlea(symbolstr) "0" : "=r"(waddr)); \
+    waddr;                                                              \
+  })
+
+#else
+#define weaken(symbol)      symbol
+#define weakaddr(symbolstr) &(symbolstr)
+#endif /* __STRICT_ANSI__ */
+#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
+#endif /* COSMOPOLITAN_LIBC_BITS_WEAKEN_H_ */
diff --git a/libc/intrin/winerr.greg.c b/libc/intrin/winerr.greg.c
index 80360fa62..6eb869710 100644
--- a/libc/intrin/winerr.greg.c
+++ b/libc/intrin/winerr.greg.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #define ShouldUseMsabiAttribute() 1
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/dce.h"
 #include "libc/errno.h"
 #include "libc/nt/errors.h"
diff --git a/libc/bits/wmmintrin.internal.h b/libc/intrin/wmmintrin.internal.h
similarity index 96%
rename from libc/bits/wmmintrin.internal.h
rename to libc/intrin/wmmintrin.internal.h
index 8bc5637a6..544b6ef8d 100644
--- a/libc/bits/wmmintrin.internal.h
+++ b/libc/intrin/wmmintrin.internal.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_BITS_WMMINTRIN_H_
 #define COSMOPOLITAN_LIBC_BITS_WMMINTRIN_H_
-#include "libc/bits/emmintrin.internal.h"
+#include "libc/intrin/emmintrin.internal.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 
 #define _mm_clmulepi64_si128(X, Y, IMM)                       \
diff --git a/libc/bits/xadd.h b/libc/intrin/xadd.h
similarity index 100%
rename from libc/bits/xadd.h
rename to libc/intrin/xadd.h
diff --git a/libc/intrin/xchg.internal.h b/libc/intrin/xchg.internal.h
new file mode 100644
index 000000000..b912306e5
--- /dev/null
+++ b/libc/intrin/xchg.internal.h
@@ -0,0 +1,25 @@
+#ifndef COSMOPOLITAN_LIBC_BITS_XCHG_H_
+#define COSMOPOLITAN_LIBC_BITS_XCHG_H_
+#include "libc/str/str.h"
+#if !(__ASSEMBLER__ + __LINKER__ + 0)
+
+/**
+ * Exchanges *MEMORY into *LOCALVAR.
+ *
+ * @return *MEMORY
+ * @see lockcmpxchg()
+ * todo(jart): what's the point of this?
+ */
+#define xchg(MEMORY, LOCALVAR)              \
+  ({                                        \
+    autotype(MEMORY) Memory = (MEMORY);     \
+    typeof(Memory) LocalVar = (LOCALVAR);   \
+    typeof(*Memory) Temp;                   \
+    memcpy(&Temp, Memory, sizeof(Temp));    \
+    memcpy(Memory, LocalVar, sizeof(Temp)); \
+    memcpy(LocalVar, &Temp, sizeof(Temp));  \
+    Temp;                                   \
+  })
+
+#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
+#endif /* COSMOPOLITAN_LIBC_BITS_XCHG_H_ */
diff --git a/libc/bits/xmmintrin.internal.h b/libc/intrin/xmmintrin.internal.h
similarity index 99%
rename from libc/bits/xmmintrin.internal.h
rename to libc/intrin/xmmintrin.internal.h
index 3ea24c713..6ee1d9ebe 100644
--- a/libc/bits/xmmintrin.internal.h
+++ b/libc/intrin/xmmintrin.internal.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_BITS_XMMINTRIN_H_
 #define COSMOPOLITAN_LIBC_BITS_XMMINTRIN_H_
-#include "libc/bits/emmintrin.internal.h"
+#include "libc/intrin/emmintrin.internal.h"
 #include "libc/dce.h"
 
 #define _MM_EXCEPT_MASK       0x003f
diff --git a/libc/isystem/endian.h b/libc/isystem/endian.h
index 7b26cd722..c1600654f 100644
--- a/libc/isystem/endian.h
+++ b/libc/isystem/endian.h
@@ -1,5 +1,5 @@
 #ifndef LIBC_ISYSTEM_ENDIAN_H_
 #define LIBC_ISYSTEM_ENDIAN_H_
-#include "libc/bits/newbie.h"
+#include "libc/intrin/newbie.h"
 #include "libc/sysv/consts/endian.h"
 #endif /* LIBC_ISYSTEM_ENDIAN_H_ */
diff --git a/libc/isystem/stdatomic.h b/libc/isystem/stdatomic.h
index 319a98beb..8c80073aa 100644
--- a/libc/isystem/stdatomic.h
+++ b/libc/isystem/stdatomic.h
@@ -1,4 +1,4 @@
 #ifndef COSMOPOLITAN_LIBC_ISYSTEM_STDATOMIC_H_
 #define COSMOPOLITAN_LIBC_ISYSTEM_STDATOMIC_H_
-#include "libc/bits/atomic.h"
+#include "libc/intrin/atomic.h"
 #endif /* COSMOPOLITAN_LIBC_ISYSTEM_STDATOMIC_H_ */
diff --git a/libc/isystem/sys/param.h b/libc/isystem/sys/param.h
index b643f55e0..b23ef87a0 100644
--- a/libc/isystem/sys/param.h
+++ b/libc/isystem/sys/param.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_ISYSTEM_SYS_PARAM_H_
 #define COSMOPOLITAN_LIBC_ISYSTEM_SYS_PARAM_H_
-#include "libc/bits/newbie.h"
+#include "libc/intrin/newbie.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/rlimit.h"
 #include "libc/calls/struct/rusage.h"
diff --git a/libc/isystem/sys/types.h b/libc/isystem/sys/types.h
index f9370b3a3..3739af21e 100644
--- a/libc/isystem/sys/types.h
+++ b/libc/isystem/sys/types.h
@@ -4,7 +4,7 @@
 #include "libc/calls/weirdtypes.h"
 
 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-#include "libc/bits/newbie.h"
+#include "libc/intrin/newbie.h"
 #include "libc/calls/typedef/u.h"
 #include "libc/calls/weirdtypes.h"
 #include "libc/sock/select.h"
diff --git a/libc/log/appendresourcereport.c b/libc/log/appendresourcereport.c
index b48d1a315..5d0951d3f 100644
--- a/libc/log/appendresourcereport.c
+++ b/libc/log/appendresourcereport.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/struct/rusage.h"
 #include "libc/fmt/itoa.h"
 #include "libc/log/log.h"
diff --git a/libc/log/attachdebugger.c b/libc/log/attachdebugger.c
index 7d5208182..37117f9f4 100644
--- a/libc/log/attachdebugger.c
+++ b/libc/log/attachdebugger.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/fmt/fmt.h"
 #include "libc/intrin/kprintf.h"
diff --git a/libc/log/backtrace2.c b/libc/log/backtrace2.c
index 1239c010f..383b913af 100644
--- a/libc/log/backtrace2.c
+++ b/libc/log/backtrace2.c
@@ -18,8 +18,8 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/alg.h"
 #include "libc/alg/bisectcarleft.internal.h"
-#include "libc/bits/safemacros.internal.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/safemacros.internal.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/log/backtrace3.c b/libc/log/backtrace3.c
index 90093ce46..9b6359efb 100644
--- a/libc/log/backtrace3.c
+++ b/libc/log/backtrace3.c
@@ -18,7 +18,7 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/bisectcarleft.internal.h"
 #include "libc/assert.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/fmt/fmt.h"
 #include "libc/fmt/itoa.h"
diff --git a/libc/log/checkfail.c b/libc/log/checkfail.c
index 5c3295cc8..dc15bd116 100644
--- a/libc/log/checkfail.c
+++ b/libc/log/checkfail.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/errno.h"
diff --git a/libc/log/checkfail_ndebug.c b/libc/log/checkfail_ndebug.c
index 4241a4680..7d4b0abfe 100644
--- a/libc/log/checkfail_ndebug.c
+++ b/libc/log/checkfail_ndebug.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/intrin/kprintf.h"
 #include "libc/log/internal.h"
 #include "libc/log/log.h"
diff --git a/libc/log/commandvenv.c b/libc/log/commandvenv.c
index 5586e8cfc..e255d4b5c 100644
--- a/libc/log/commandvenv.c
+++ b/libc/log/commandvenv.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/log/log.h"
 #include "libc/mem/mem.h"
diff --git a/libc/log/gdbexec.c b/libc/log/gdbexec.c
index 13b03250c..5d365e397 100644
--- a/libc/log/gdbexec.c
+++ b/libc/log/gdbexec.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/fmt/fmt.h"
 #include "libc/log/gdb.h"
diff --git a/libc/log/leaks.c b/libc/log/leaks.c
index c4faf6012..2b9d0c70c 100644
--- a/libc/log/leaks.c
+++ b/libc/log/leaks.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/intrin/asan.internal.h"
 #include "libc/intrin/kprintf.h"
diff --git a/libc/log/log.h b/libc/log/log.h
index b284a0e62..3d58af696 100644
--- a/libc/log/log.h
+++ b/libc/log/log.h
@@ -1,7 +1,7 @@
 #ifndef COSMOPOLITAN_LIBC_LOG_LOG_H_
 #define COSMOPOLITAN_LIBC_LOG_LOG_H_
-#include "libc/bits/likely.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/likely.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/struct/rusage.h"
 #include "libc/calls/struct/sigset.h"
 #include "libc/calls/struct/winsize.h"
diff --git a/libc/log/logfile.initabi.c b/libc/log/logfile.initabi.c
index 3e5936c3a..2bf044980 100644
--- a/libc/log/logfile.initabi.c
+++ b/libc/log/logfile.initabi.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/initializer.internal.h"
+#include "libc/intrin/initializer.internal.h"
 #include "libc/stdio/stdio.h"
 
 FILE *__log_file;
diff --git a/libc/log/memlog.c b/libc/log/memlog.c
index 69ea8279b..78148f317 100644
--- a/libc/log/memlog.c
+++ b/libc/log/memlog.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/atomic.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/atomic.h"
+#include "libc/intrin/weaken.h"
 #include "libc/intrin/kprintf.h"
 #include "libc/log/backtrace.internal.h"
 #include "libc/log/log.h"
diff --git a/libc/log/oncrash.c b/libc/log/oncrash.c
index b4cdae1db..38dfaa148 100644
--- a/libc/log/oncrash.c
+++ b/libc/log/oncrash.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/state.internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/log/onkill.c b/libc/log/onkill.c
index addcdea41..0be0c1300 100644
--- a/libc/log/onkill.c
+++ b/libc/log/onkill.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/sigaction.h"
 #include "libc/calls/struct/siginfo.h"
diff --git a/libc/log/rop.h b/libc/log/rop.h
index 08efdcd0e..8647cca4b 100644
--- a/libc/log/rop.h
+++ b/libc/log/rop.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_LOG_ROP_H_
 #define COSMOPOLITAN_LIBC_LOG_ROP_H_
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 
 #define RETURN_ON_ERROR(expr)     \
   do {                            \
diff --git a/libc/log/startfatal.c b/libc/log/startfatal.c
index 4c1432037..0b88985d8 100644
--- a/libc/log/startfatal.c
+++ b/libc/log/startfatal.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/intrin/kprintf.h"
 #include "libc/log/color.internal.h"
 #include "libc/log/internal.h"
diff --git a/libc/log/verr.c b/libc/log/verr.c
index e0ad4a40f..b700b78a7 100644
--- a/libc/log/verr.c
+++ b/libc/log/verr.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/log/bsd.h"
 #include "libc/log/color.internal.h"
 #include "libc/log/internal.h"
diff --git a/libc/log/vflogf.c b/libc/log/vflogf.c
index 35c2eae7a..39aba9c8d 100644
--- a/libc/log/vflogf.c
+++ b/libc/log/vflogf.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/dprintf.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/mem/arena.c b/libc/mem/arena.c
index 63407f810..2b69ff080 100644
--- a/libc/mem/arena.c
+++ b/libc/mem/arena.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/likely.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/likely.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/dce.h"
 #include "libc/limits.h"
diff --git a/libc/mem/defer.greg.c b/libc/mem/defer.greg.c
index d22aacd3a..5b2d04a0c 100644
--- a/libc/mem/defer.greg.c
+++ b/libc/mem/defer.greg.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/likely.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/likely.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/mem/mem.h"
 #include "libc/nexgen32e/gc.internal.h"
diff --git a/libc/nexgen32e/lz4.h b/libc/nexgen32e/lz4.h
index 64376fac5..fa63da86f 100644
--- a/libc/nexgen32e/lz4.h
+++ b/libc/nexgen32e/lz4.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_LZ4_H_
 #define COSMOPOLITAN_LIBC_LZ4_H_
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 /*───────────────────────────────────────────────────────────────────────────│─╗
 │ cosmopolitan § lz4                                                       ─╬─│┼
 ╚────────────────────────────────────────────────────────────────────────────│─╝
diff --git a/libc/nexgen32e/rdtscp.h b/libc/nexgen32e/rdtscp.h
index 33868c540..f521a9719 100644
--- a/libc/nexgen32e/rdtscp.h
+++ b/libc/nexgen32e/rdtscp.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_NEXGEN32E_RDTSCP_H_
 #define COSMOPOLITAN_LIBC_NEXGEN32E_RDTSCP_H_
-#include "libc/bits/asmflag.h"
+#include "libc/intrin/asmflag.h"
 #include "libc/dce.h"
 #include "libc/nexgen32e/x86feature.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
diff --git a/libc/nt/struct/teb.h b/libc/nt/struct/teb.h
index 23d4d9c16..a8e056175 100644
--- a/libc/nt/struct/teb.h
+++ b/libc/nt/struct/teb.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_NT_TEB_H_
 #define COSMOPOLITAN_LIBC_NT_TEB_H_
-#include "libc/bits/segmentation.h"
+#include "libc/intrin/segmentation.h"
 #include "libc/nt/struct/peb.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 #if defined(__GNUC__) && !defined(__STRICT_ANSI__)
diff --git a/libc/rand/getrandom.c b/libc/rand/getrandom.c
index 77caf1b16..2836d9281 100644
--- a/libc/rand/getrandom.c
+++ b/libc/rand/getrandom.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/struct/sigaction.h"
diff --git a/libc/rand/mt19937.c b/libc/rand/mt19937.c
index 6f6e7b98b..90f2b5a57 100644
--- a/libc/rand/mt19937.c
+++ b/libc/rand/mt19937.c
@@ -34,7 +34,7 @@
 │  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.        │
 │                                                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/macros.internal.h"
 #include "libc/rand/rand.h"
 
diff --git a/libc/rand/rdrand.c b/libc/rand/rdrand.c
index 341c385ad..6c55da016 100644
--- a/libc/rand/rdrand.c
+++ b/libc/rand/rdrand.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/asmflag.h"
+#include "libc/intrin/asmflag.h"
 #include "libc/errno.h"
 #include "libc/nexgen32e/x86feature.h"
 #include "libc/rand/rand.h"
diff --git a/libc/rand/rdseed.c b/libc/rand/rdseed.c
index 3852f3175..a3711d90a 100644
--- a/libc/rand/rdseed.c
+++ b/libc/rand/rdseed.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/asmflag.h"
+#include "libc/intrin/asmflag.h"
 #include "libc/nexgen32e/x86feature.h"
 #include "libc/rand/rand.h"
 #include "libc/stdio/stdio.h"
diff --git a/libc/runtime/arch_prctl.c b/libc/runtime/arch_prctl.c
index 2aabdcda0..ff0e40bc7 100644
--- a/libc/runtime/arch_prctl.c
+++ b/libc/runtime/arch_prctl.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/asmflag.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/asmflag.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/syscall-sysv.internal.h"
 #include "libc/dce.h"
diff --git a/libc/runtime/efimain.greg.c b/libc/runtime/efimain.greg.c
index 5455f4da9..4b64dd6e0 100644
--- a/libc/runtime/efimain.greg.c
+++ b/libc/runtime/efimain.greg.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dce.h"
 #include "libc/macros.internal.h"
 #include "libc/nt/efi.h"
diff --git a/libc/runtime/enable_tls.c b/libc/runtime/enable_tls.c
index 7f154ba3d..97b3044ce 100644
--- a/libc/runtime/enable_tls.c
+++ b/libc/runtime/enable_tls.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall-sysv.internal.h"
diff --git a/libc/runtime/exit.c b/libc/runtime/exit.c
index da4e882d1..8eeb5968b 100644
--- a/libc/runtime/exit.c
+++ b/libc/runtime/exit.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/runtime/internal.h"
 #include "libc/runtime/runtime.h"
diff --git a/libc/runtime/ezmap.c b/libc/runtime/ezmap.c
index 4528e89d5..8e019fca3 100644
--- a/libc/runtime/ezmap.c
+++ b/libc/runtime/ezmap.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/limits.h"
 #include "libc/log/libfatal.internal.h"
diff --git a/libc/runtime/finddebugbinary.c b/libc/runtime/finddebugbinary.c
index e902aaa54..ff83b45db 100644
--- a/libc/runtime/finddebugbinary.c
+++ b/libc/runtime/finddebugbinary.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/macros.internal.h"
 #include "libc/runtime/runtime.h"
diff --git a/libc/runtime/fork-nt.c b/libc/runtime/fork-nt.c
index 24d96c3d6..f3cddc83c 100644
--- a/libc/runtime/fork-nt.c
+++ b/libc/runtime/fork-nt.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/ntspawn.h"
 #include "libc/calls/state.internal.h"
diff --git a/libc/runtime/fork.c b/libc/runtime/fork.c
index 099fc680f..4bab187ac 100644
--- a/libc/runtime/fork.c
+++ b/libc/runtime/fork.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall-nt.internal.h"
diff --git a/libc/runtime/getdosargv.c b/libc/runtime/getdosargv.c
index ff97895fb..80d302bed 100644
--- a/libc/runtime/getdosargv.c
+++ b/libc/runtime/getdosargv.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/nt/thunk/msabi.h"
 #include "libc/runtime/internal.h"
 #include "libc/str/str.h"
diff --git a/libc/runtime/getdosenviron.c b/libc/runtime/getdosenviron.c
index d7723ec97..fccf6f6ee 100644
--- a/libc/runtime/getdosenviron.c
+++ b/libc/runtime/getdosenviron.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/runtime/runtime.h"
 #include "libc/str/str.h"
 #include "libc/str/tpenc.h"
diff --git a/libc/runtime/getsymboltable.c b/libc/runtime/getsymboltable.c
index bf1543b4d..169ba510a 100644
--- a/libc/runtime/getsymboltable.c
+++ b/libc/runtime/getsymboltable.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/intrin/promises.internal.h"
 #include "libc/intrin/spinlock.h"
diff --git a/libc/runtime/grow.c b/libc/runtime/grow.c
index 8b39a62f6..62e04b6c9 100644
--- a/libc/runtime/grow.c
+++ b/libc/runtime/grow.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/weaken.h"
 #include "libc/fmt/conv.h"
 #include "libc/macros.internal.h"
 #include "libc/mem/mem.h"
diff --git a/libc/runtime/hook.greg.c b/libc/runtime/hook.greg.c
index 05d20b987..a80df3168 100644
--- a/libc/runtime/hook.greg.c
+++ b/libc/runtime/hook.greg.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/sigset.h"
 #include "libc/dce.h"
diff --git a/libc/runtime/inflate.c b/libc/runtime/inflate.c
index edee0dddd..70e23e143 100644
--- a/libc/runtime/inflate.c
+++ b/libc/runtime/inflate.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/macros.internal.h"
 #include "libc/runtime/runtime.h"
diff --git a/libc/runtime/isdynamicexecutable.c b/libc/runtime/isdynamicexecutable.c
index 4005c729f..66c0a6be6 100644
--- a/libc/runtime/isdynamicexecutable.c
+++ b/libc/runtime/isdynamicexecutable.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/elf/def.h"
diff --git a/libc/runtime/mapanon.c b/libc/runtime/mapanon.c
index 12be768d2..713729c98 100644
--- a/libc/runtime/mapanon.c
+++ b/libc/runtime/mapanon.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/errno.h"
 #include "libc/nexgen32e/bsr.h"
diff --git a/libc/runtime/mapshared.c b/libc/runtime/mapshared.c
index f2f086504..1810ce294 100644
--- a/libc/runtime/mapshared.c
+++ b/libc/runtime/mapshared.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/errno.h"
 #include "libc/runtime/runtime.h"
diff --git a/libc/runtime/memtrack.internal.h b/libc/runtime/memtrack.internal.h
index 501c60966..746602693 100644
--- a/libc/runtime/memtrack.internal.h
+++ b/libc/runtime/memtrack.internal.h
@@ -1,7 +1,7 @@
 #ifndef COSMOPOLITAN_LIBC_RUNTIME_MEMTRACK_H_
 #define COSMOPOLITAN_LIBC_RUNTIME_MEMTRACK_H_
 #include "libc/assert.h"
-#include "libc/bits/midpoint.h"
+#include "libc/intrin/midpoint.h"
 #include "libc/dce.h"
 #include "libc/intrin/nopl.h"
 #include "libc/macros.internal.h"
diff --git a/libc/runtime/mmap.c b/libc/runtime/mmap.c
index d498417fa..e1936e9a8 100644
--- a/libc/runtime/mmap.c
+++ b/libc/runtime/mmap.c
@@ -17,10 +17,10 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/likely.h"
-#include "libc/bits/safemacros.internal.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/likely.h"
+#include "libc/intrin/safemacros.internal.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/runtime/morph.greg.c b/libc/runtime/morph.greg.c
index 3538dc844..1fc32b61a 100644
--- a/libc/runtime/morph.greg.c
+++ b/libc/runtime/morph.greg.c
@@ -18,7 +18,7 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #define ShouldUseMsabiAttribute() 1
 #include "libc/assert.h"
-#include "libc/bits/asmflag.h"
+#include "libc/intrin/asmflag.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/struct/sigset.h"
diff --git a/libc/runtime/mprotect.c b/libc/runtime/mprotect.c
index 5b38ba2e4..e9a911d20 100644
--- a/libc/runtime/mprotect.c
+++ b/libc/runtime/mprotect.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall-sysv.internal.h"
 #include "libc/dce.h"
diff --git a/libc/runtime/mremap.c b/libc/runtime/mremap.c
index 1ff4a3a84..0617a36ef 100644
--- a/libc/runtime/mremap.c
+++ b/libc/runtime/mremap.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/likely.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/likely.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/dce.h"
diff --git a/libc/runtime/munmap.c b/libc/runtime/munmap.c
index 045dc1d87..27e47588f 100644
--- a/libc/runtime/munmap.c
+++ b/libc/runtime/munmap.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/likely.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/likely.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/state.internal.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall-sysv.internal.h"
diff --git a/libc/runtime/opensymboltable.greg.c b/libc/runtime/opensymboltable.greg.c
index e126a84ec..ed0aa0901 100644
--- a/libc/runtime/opensymboltable.greg.c
+++ b/libc/runtime/opensymboltable.greg.c
@@ -18,7 +18,7 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/alg.h"
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/dce.h"
diff --git a/libc/runtime/runtime.mk b/libc/runtime/runtime.mk
index f0162b973..5d2decf1e 100644
--- a/libc/runtime/runtime.mk
+++ b/libc/runtime/runtime.mk
@@ -33,7 +33,6 @@ LIBC_RUNTIME_A_CHECKS =					\
 	$(LIBC_RUNTIME_A_HDRS:%=o/$(MODE)/%.ok)
 
 LIBC_RUNTIME_A_DIRECTDEPS =				\
-	LIBC_BITS					\
 	LIBC_CALLS					\
 	LIBC_ELF					\
 	LIBC_FMT					\
diff --git a/libc/runtime/stackuse.c b/libc/runtime/stackuse.c
index ae2d85084..4e2557bd9 100644
--- a/libc/runtime/stackuse.c
+++ b/libc/runtime/stackuse.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/atomic.h"
+#include "libc/intrin/atomic.h"
 #include "libc/calls/calls.h"
 #include "libc/dce.h"
 #include "libc/fmt/itoa.h"
diff --git a/libc/runtime/straceinit.greg.c b/libc/runtime/straceinit.greg.c
index 848d96cf3..1644f7365 100644
--- a/libc/runtime/straceinit.greg.c
+++ b/libc/runtime/straceinit.greg.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/log/libfatal.internal.h"
 #include "libc/runtime/internal.h"
diff --git a/libc/runtime/symbols.c b/libc/runtime/symbols.c
index 846eba41e..8cfd5c782 100644
--- a/libc/runtime/symbols.c
+++ b/libc/runtime/symbols.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/dce.h"
 #include "libc/log/backtrace.internal.h"
 #include "libc/log/log.h"
diff --git a/libc/runtime/symbols.internal.h b/libc/runtime/symbols.internal.h
index 566c7e018..5ea80ebdc 100644
--- a/libc/runtime/symbols.internal.h
+++ b/libc/runtime/symbols.internal.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_SYMBOLS_H_
 #define COSMOPOLITAN_LIBC_SYMBOLS_H_
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 COSMOPOLITAN_C_START_
 
diff --git a/libc/runtime/weakfree.c b/libc/runtime/weakfree.c
index b466568d1..44c2b3200 100644
--- a/libc/runtime/weakfree.c
+++ b/libc/runtime/weakfree.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/mem/mem.h"
 #include "libc/runtime/runtime.h"
 
diff --git a/libc/runtime/winmain.greg.c b/libc/runtime/winmain.greg.c
index 346001c3b..7836d27cc 100644
--- a/libc/runtime/winmain.greg.c
+++ b/libc/runtime/winmain.greg.c
@@ -16,9 +16,9 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/pushpop.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/pushpop.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/state.internal.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/syscall_support-nt.internal.h"
diff --git a/libc/sock/closesocket-nt.c b/libc/sock/closesocket-nt.c
index 435017b23..1ea05fc9a 100644
--- a/libc/sock/closesocket-nt.c
+++ b/libc/sock/closesocket-nt.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/intrin/kprintf.h"
 #include "libc/log/backtrace.internal.h"
 #include "libc/mem/mem.h"
diff --git a/libc/sock/firewall.c b/libc/sock/firewall.c
index 890c75454..1bc654b6c 100644
--- a/libc/sock/firewall.c
+++ b/libc/sock/firewall.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/dce.h"
 #include "libc/log/log.h"
diff --git a/libc/sock/gethostips.c b/libc/sock/gethostips.c
index 7b47f901f..40a339ebe 100644
--- a/libc/sock/gethostips.c
+++ b/libc/sock/gethostips.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/syscall-sysv.internal.h"
 #include "libc/calls/syscall_support-nt.internal.h"
diff --git a/libc/sock/kntwsadata.c b/libc/sock/kntwsadata.c
index 9c635dce1..43703e91d 100644
--- a/libc/sock/kntwsadata.c
+++ b/libc/sock/kntwsadata.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/dce.h"
diff --git a/libc/sock/recv-nt.c b/libc/sock/recv-nt.c
index c11bd61df..c9fba3f3b 100644
--- a/libc/sock/recv-nt.c
+++ b/libc/sock/recv-nt.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/struct/iovec.h"
 #include "libc/errno.h"
diff --git a/libc/sock/sendfile.c b/libc/sock/sendfile.c
index 48c30e3bb..123228957 100644
--- a/libc/sock/sendfile.c
+++ b/libc/sock/sendfile.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/sig.internal.h"
diff --git a/libc/sock/sock.h b/libc/sock/sock.h
index 42ccae058..c1af5f745 100644
--- a/libc/sock/sock.h
+++ b/libc/sock/sock.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_SOCK_SOCK_H_
 #define COSMOPOLITAN_LIBC_SOCK_SOCK_H_
-#include "libc/bits/bswap.h"
+#include "libc/intrin/bswap.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 COSMOPOLITAN_C_START_
 /*───────────────────────────────────────────────────────────────────────────│─╗
diff --git a/libc/sock/sock.mk b/libc/sock/sock.mk
index 01a24eac8..47a0c2ed4 100644
--- a/libc/sock/sock.mk
+++ b/libc/sock/sock.mk
@@ -25,7 +25,6 @@ LIBC_SOCK_A_CHECKS =				\
 	$(LIBC_SOCK_A_HDRS:%=o/$(MODE)/%.ok)
 
 LIBC_SOCK_A_DIRECTDEPS =			\
-	LIBC_BITS				\
 	LIBC_CALLS				\
 	LIBC_FMT				\
 	LIBC_INTRIN				\
diff --git a/libc/sock/syslog.c b/libc/sock/syslog.c
index 393af517a..52c4d7d29 100644
--- a/libc/sock/syslog.c
+++ b/libc/sock/syslog.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/dprintf.h"
 #include "libc/calls/weirdtypes.h"
diff --git a/libc/sock/xinet_ntop.c b/libc/sock/xinet_ntop.c
index ce1914156..351c6ee7a 100644
--- a/libc/sock/xinet_ntop.c
+++ b/libc/sock/xinet_ntop.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/log/log.h"
 #include "libc/mem/mem.h"
 #include "libc/runtime/runtime.h"
diff --git a/libc/stdio/appendw.c b/libc/stdio/appendw.c
index cdcee2e59..b4b0d4538 100644
--- a/libc/stdio/appendw.c
+++ b/libc/stdio/appendw.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dce.h"
 #include "libc/macros.internal.h"
 #include "libc/mem/mem.h"
diff --git a/libc/stdio/dirstream.c b/libc/stdio/dirstream.c
index c9d235d7d..31b60ba00 100644
--- a/libc/stdio/dirstream.c
+++ b/libc/stdio/dirstream.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/stdio/fflush_unlocked.c b/libc/stdio/fflush_unlocked.c
index 07ae9a6f1..a24f3dbf4 100644
--- a/libc/stdio/fflush_unlocked.c
+++ b/libc/stdio/fflush_unlocked.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/arraylist.internal.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/pushpop.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/pushpop.h"
 #include "libc/calls/calls.h"
 #include "libc/errno.h"
 #include "libc/intrin/pthread.h"
diff --git a/libc/stdio/paginate.c b/libc/stdio/paginate.c
index 68a7552c6..0acd7f177 100644
--- a/libc/stdio/paginate.c
+++ b/libc/stdio/paginate.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/fmt/fmt.h"
 #include "libc/runtime/runtime.h"
diff --git a/libc/stdio/stdio.mk b/libc/stdio/stdio.mk
index fc7bc65c0..0e98d486f 100644
--- a/libc/stdio/stdio.mk
+++ b/libc/stdio/stdio.mk
@@ -24,8 +24,6 @@ LIBC_STDIO_A_CHECKS =					\
 	$(LIBC_STDIO_A_HDRS:%=o/$(MODE)/%.ok)
 
 LIBC_STDIO_A_DIRECTDEPS =				\
-	LIBC_ALG					\
-	LIBC_BITS					\
 	LIBC_CALLS					\
 	LIBC_FMT					\
 	LIBC_INTRIN					\
diff --git a/libc/stdio/stdout.c b/libc/stdio/stdout.c
index 442971923..493974895 100644
--- a/libc/stdio/stdout.c
+++ b/libc/stdio/stdout.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/pushpop.h"
+#include "libc/intrin/pushpop.h"
 #include "libc/calls/calls.h"
 #include "libc/dce.h"
 #include "libc/stdio/internal.h"
diff --git a/libc/stdio/system.c b/libc/stdio/system.c
index 55543aa57..17a827a66 100644
--- a/libc/stdio/system.c
+++ b/libc/stdio/system.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/sigaction.h"
 #include "libc/dce.h"
diff --git a/libc/str/bcmp.c b/libc/str/bcmp.c
index 69d87faa3..00616752b 100644
--- a/libc/str/bcmp.c
+++ b/libc/str/bcmp.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/dce.h"
 #include "libc/nexgen32e/x86feature.h"
 #include "libc/str/str.h"
diff --git a/libc/str/crc32z.c b/libc/str/crc32z.c
index ac2bcf193..db7e76dee 100644
--- a/libc/str/crc32z.c
+++ b/libc/str/crc32z.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/dce.h"
 #include "libc/intrin/asan.internal.h"
 #include "libc/macros.internal.h"
diff --git a/libc/str/findembeddedape.c b/libc/str/findembeddedape.c
index 68b3696cf..f522d98a2 100644
--- a/libc/str/findembeddedape.c
+++ b/libc/str/findembeddedape.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/log/libfatal.internal.h"
 #include "libc/macros.internal.h"
 #include "libc/str/str.h"
diff --git a/libc/str/getcachesize.c b/libc/str/getcachesize.c
index e9ab0fbd3..c6ff0b7a7 100644
--- a/libc/str/getcachesize.c
+++ b/libc/str/getcachesize.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dce.h"
 #include "libc/nexgen32e/cachesize.h"
 #include "libc/nexgen32e/cpuid4.internal.h"
diff --git a/libc/str/getzipcdir.c b/libc/str/getzipcdir.c
index 0f4edeb45..25ccdf17d 100644
--- a/libc/str/getzipcdir.c
+++ b/libc/str/getzipcdir.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/zip.h"
 
 typedef char v16qi __attribute__((__vector_size__(16)));
diff --git a/libc/str/highwayhash64.c b/libc/str/highwayhash64.c
index 8fcd05e07..1a166e076 100644
--- a/libc/str/highwayhash64.c
+++ b/libc/str/highwayhash64.c
@@ -15,7 +15,7 @@
 │ See the License for the specific language governing permissions and          │
 │ limitations under the License.                                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/str/highwayhash64.h"
 
 asm(".ident\t\"\\n\\n\
diff --git a/libc/str/isutf8.c b/libc/str/isutf8.c
index 669744339..50e04c147 100644
--- a/libc/str/isutf8.c
+++ b/libc/str/isutf8.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/dce.h"
 #include "libc/intrin/asan.internal.h"
 #include "libc/str/str.h"
diff --git a/libc/str/iszipcdir32.c b/libc/str/iszipcdir32.c
index 27382a230..b5b34462b 100644
--- a/libc/str/iszipcdir32.c
+++ b/libc/str/iszipcdir32.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/zip.h"
 
 /**
diff --git a/libc/str/iszipcdir64.c b/libc/str/iszipcdir64.c
index 044442336..f8db63337 100644
--- a/libc/str/iszipcdir64.c
+++ b/libc/str/iszipcdir64.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/zip.h"
 
 /**
diff --git a/libc/str/kx86processormodels.c b/libc/str/kx86processormodels.c
index bfaa5a1e6..ac0453adb 100644
--- a/libc/str/kx86processormodels.c
+++ b/libc/str/kx86processormodels.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/macros.internal.h"
 #include "libc/nexgen32e/x86info.h"
 
diff --git a/libc/str/lz4cpy.c b/libc/str/lz4cpy.c
index 8f3e3add7..72003af3a 100644
--- a/libc/str/lz4cpy.c
+++ b/libc/str/lz4cpy.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/pushpop.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/pushpop.h"
 #include "libc/intrin/repmovsb.h"
 #include "libc/nexgen32e/kompressor.h"
 #include "libc/str/str.h"
diff --git a/libc/str/memcasecmp.c b/libc/str/memcasecmp.c
index 81c8bb7ec..a4a58f19d 100644
--- a/libc/str/memcasecmp.c
+++ b/libc/str/memcasecmp.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/str/str.h"
 
 /**
diff --git a/libc/str/memccpy.c b/libc/str/memccpy.c
index e0df0fe48..1988140b7 100644
--- a/libc/str/memccpy.c
+++ b/libc/str/memccpy.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/str/str.h"
 
 /**
diff --git a/libc/str/memmem.c b/libc/str/memmem.c
index 499042aaa..90a2df108 100644
--- a/libc/str/memmem.c
+++ b/libc/str/memmem.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/dce.h"
 #include "libc/intrin/asan.internal.h"
 #include "libc/str/str.h"
diff --git a/libc/str/strlcat.c b/libc/str/strlcat.c
index 79d77919c..8274b0966 100644
--- a/libc/str/strlcat.c
+++ b/libc/str/strlcat.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/str/str.h"
 
 /**
diff --git a/libc/str/strlcpy.c b/libc/str/strlcpy.c
index 05eafaf07..652fb3059 100644
--- a/libc/str/strlcpy.c
+++ b/libc/str/strlcpy.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/macros.internal.h"
 #include "libc/str/str.h"
 
diff --git a/libc/str/strnlen.c b/libc/str/strnlen.c
index 5eb82cba3..a48b23432 100644
--- a/libc/str/strnlen.c
+++ b/libc/str/strnlen.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dce.h"
 #include "libc/intrin/asan.internal.h"
 #include "libc/str/str.h"
diff --git a/libc/str/timingsafe_bcmp.c b/libc/str/timingsafe_bcmp.c
index 9600df9eb..7012f761d 100644
--- a/libc/str/timingsafe_bcmp.c
+++ b/libc/str/timingsafe_bcmp.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/dce.h"
 #include "libc/intrin/asan.internal.h"
 #include "libc/nexgen32e/x86feature.h"
diff --git a/libc/str/undeflate.c b/libc/str/undeflate.c
index 71c1dda05..0957919c2 100644
--- a/libc/str/undeflate.c
+++ b/libc/str/undeflate.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/weaken.h"
 #include "libc/intrin/repmovsb.h"
 #include "libc/macros.internal.h"
 #include "libc/nexgen32e/kompressor.h"
diff --git a/libc/str/utf16.h b/libc/str/utf16.h
index a0a87854e..bf186b458 100644
--- a/libc/str/utf16.h
+++ b/libc/str/utf16.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_STR_UTF16_H_
 #define COSMOPOLITAN_LIBC_STR_UTF16_H_
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 
 #define UTF16_MASK 0xfc00
 #define UTF16_MOAR 0xd800 /* 0xD800..0xDBFF */
diff --git a/libc/str/wctype.c b/libc/str/wctype.c
index c9af081b5..f4170540d 100644
--- a/libc/str/wctype.c
+++ b/libc/str/wctype.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/macros.internal.h"
 #include "libc/str/str.h"
 
diff --git a/libc/testlib/bench.h b/libc/testlib/bench.h
index 710e131e9..5298fe707 100644
--- a/libc/testlib/bench.h
+++ b/libc/testlib/bench.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_BENCH_H_
 #define COSMOPOLITAN_LIBC_BENCH_H_
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/nexgen32e/bench.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 COSMOPOLITAN_C_START_
diff --git a/libc/testlib/comborunner.c b/libc/testlib/comborunner.c
index 2436c5f24..d0d82bea7 100644
--- a/libc/testlib/comborunner.c
+++ b/libc/testlib/comborunner.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/fmt/fmt.h"
 #include "libc/mem/mem.h"
 #include "libc/str/str.h"
diff --git a/libc/testlib/formatint.c b/libc/testlib/formatint.c
index c9ce6c926..b2e84a637 100644
--- a/libc/testlib/formatint.c
+++ b/libc/testlib/formatint.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/fmt/fmt.h"
 #include "libc/macros.internal.h"
 #include "libc/mem/mem.h"
diff --git a/libc/testlib/formatstr.c b/libc/testlib/formatstr.c
index 2dd66dbbe..13313a03c 100644
--- a/libc/testlib/formatstr.c
+++ b/libc/testlib/formatstr.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/mem/mem.h"
 #include "libc/str/str.h"
 #include "libc/testlib/testlib.h"
diff --git a/libc/testlib/quota.c b/libc/testlib/quota.c
index 1302482f0..60ac983cf 100644
--- a/libc/testlib/quota.c
+++ b/libc/testlib/quota.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/errno.h"
 #include "libc/intrin/kprintf.h"
diff --git a/libc/testlib/showerror.c b/libc/testlib/showerror.c
index d9f842314..bb9efc127 100644
--- a/libc/testlib/showerror.c
+++ b/libc/testlib/showerror.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/atomic.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/atomic.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/errno.h"
 #include "libc/fmt/fmt.h"
diff --git a/libc/testlib/testlib.mk b/libc/testlib/testlib.mk
index caf496290..6c3e40ff0 100644
--- a/libc/testlib/testlib.mk
+++ b/libc/testlib/testlib.mk
@@ -94,7 +94,6 @@ LIBC_TESTLIB_A_OBJS =						\
 
 LIBC_TESTLIB_A_DIRECTDEPS =					\
 	LIBC_ALG						\
-	LIBC_BITS						\
 	LIBC_CALLS						\
 	LIBC_FMT						\
 	LIBC_INTRIN						\
diff --git a/libc/testlib/testmain.c b/libc/testlib/testmain.c
index 37599b609..45c929fdc 100644
--- a/libc/testlib/testmain.c
+++ b/libc/testlib/testmain.c
@@ -16,9 +16,9 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/struct/rlimit.h"
diff --git a/libc/testlib/testrunner.c b/libc/testlib/testrunner.c
index 4a7415b69..e06d17bc2 100644
--- a/libc/testlib/testrunner.c
+++ b/libc/testlib/testrunner.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/atomic.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/atomic.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/state.internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/libc/thread/freebsd.internal.h b/libc/thread/freebsd.internal.h
index d0651edce..b6e71a92d 100644
--- a/libc/thread/freebsd.internal.h
+++ b/libc/thread/freebsd.internal.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_THREAD_FREEBSD_INTERNAL_H_
 #define COSMOPOLITAN_LIBC_THREAD_FREEBSD_INTERNAL_H_
-#include "libc/bits/asmflag.h"
+#include "libc/intrin/asmflag.h"
 #include "libc/calls/struct/timespec.h"
 #include "libc/errno.h"
 
diff --git a/libc/thread/sem.c b/libc/thread/sem.c
index 06b355984..dfbb50169 100644
--- a/libc/thread/sem.c
+++ b/libc/thread/sem.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/atomic.h"
+#include "libc/intrin/atomic.h"
 #include "libc/calls/calls.h"
 #include "libc/thread/thread.h"
 
diff --git a/libc/thread/thread.mk b/libc/thread/thread.mk
index eaad77641..b1d4f15ef 100644
--- a/libc/thread/thread.mk
+++ b/libc/thread/thread.mk
@@ -27,7 +27,6 @@ LIBC_THREAD_A_DIRECTDEPS =				\
 	LIBC_STUBS					\
 	LIBC_CALLS					\
 	LIBC_INTRIN					\
-	LIBC_BITS					\
 	LIBC_MEM					\
 	LIBC_RUNTIME					\
 	LIBC_SYSV					\
diff --git a/libc/thread/wait.c b/libc/thread/wait.c
index 756cd7d1a..09ed69a00 100644
--- a/libc/thread/wait.c
+++ b/libc/thread/wait.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/atomic.h"
+#include "libc/intrin/atomic.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/timespec.h"
 #include "libc/dce.h"
diff --git a/libc/time/localtime.c b/libc/time/localtime.c
index 25735f0b0..ee06baea0 100644
--- a/libc/time/localtime.c
+++ b/libc/time/localtime.c
@@ -2,7 +2,7 @@
 │vi: set et ft=c ts=8 tw=8 fenc=utf-8                                       :vi│
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #define LOCALTIME_IMPLEMENTATION
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/intrin/nopl.h"
 #include "libc/intrin/pthread.h"
diff --git a/libc/tinymath/exp.c b/libc/tinymath/exp.c
index f0c3c9ff4..4819e08c2 100644
--- a/libc/tinymath/exp.c
+++ b/libc/tinymath/exp.c
@@ -25,7 +25,7 @@
 │  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                      │
 │                                                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/math.h"
 #include "libc/tinymath/exp_data.internal.h"
 #include "libc/tinymath/internal.h"
diff --git a/libc/tinymath/exp2.c b/libc/tinymath/exp2.c
index 17be7d363..c428e5d05 100644
--- a/libc/tinymath/exp2.c
+++ b/libc/tinymath/exp2.c
@@ -25,7 +25,7 @@
 │  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                      │
 │                                                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/math.h"
 #include "libc/tinymath/exp_data.internal.h"
 #include "libc/tinymath/internal.h"
diff --git a/libc/tinymath/exp2f.c b/libc/tinymath/exp2f.c
index 14a3665b6..fa61660f7 100644
--- a/libc/tinymath/exp2f.c
+++ b/libc/tinymath/exp2f.c
@@ -25,7 +25,7 @@
 │  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                      │
 │                                                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/math.h"
 #include "libc/tinymath/exp2f_data.internal.h"
 #include "libc/tinymath/internal.h"
diff --git a/libc/tinymath/expf.c b/libc/tinymath/expf.c
index 795fb1c38..650076910 100644
--- a/libc/tinymath/expf.c
+++ b/libc/tinymath/expf.c
@@ -25,7 +25,7 @@
 │  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                      │
 │                                                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/math.h"
 #include "libc/tinymath/exp2f_data.internal.h"
 #include "libc/tinymath/internal.h"
diff --git a/libc/tinymath/log.c b/libc/tinymath/log.c
index 0e226de4c..e4ed21945 100644
--- a/libc/tinymath/log.c
+++ b/libc/tinymath/log.c
@@ -25,7 +25,7 @@
 │  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                      │
 │                                                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/math.h"
 #include "libc/tinymath/internal.h"
 #include "libc/tinymath/log_data.internal.h"
diff --git a/libc/tinymath/log10.c b/libc/tinymath/log10.c
index 3ce0e3c9b..bd2d8323d 100644
--- a/libc/tinymath/log10.c
+++ b/libc/tinymath/log10.c
@@ -25,7 +25,7 @@
 │  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                      │
 │                                                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/math.h"
 #include "libc/tinymath/complex.internal.h"
 #include "libc/tinymath/internal.h"
diff --git a/libc/tinymath/log1p.c b/libc/tinymath/log1p.c
index 02f47b40c..78e974bff 100644
--- a/libc/tinymath/log1p.c
+++ b/libc/tinymath/log1p.c
@@ -25,7 +25,7 @@
 │  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                      │
 │                                                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/math.h"
 #include "libc/tinymath/internal.h"
 #include "libc/tinymath/log_data.internal.h"
diff --git a/libc/tinymath/log2.c b/libc/tinymath/log2.c
index 7c4d379e1..3a8448f8a 100644
--- a/libc/tinymath/log2.c
+++ b/libc/tinymath/log2.c
@@ -25,7 +25,7 @@
 │  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                      │
 │                                                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/math.h"
 #include "libc/tinymath/complex.internal.h"
 #include "libc/tinymath/internal.h"
diff --git a/libc/tinymath/log2f.c b/libc/tinymath/log2f.c
index 4fe1e7be5..41aea6f9d 100644
--- a/libc/tinymath/log2f.c
+++ b/libc/tinymath/log2f.c
@@ -25,7 +25,7 @@
 │  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                      │
 │                                                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/math.h"
 #include "libc/tinymath/complex.internal.h"
 #include "libc/tinymath/internal.h"
diff --git a/libc/tinymath/pow.c b/libc/tinymath/pow.c
index 898fcbc22..70f5fdecb 100644
--- a/libc/tinymath/pow.c
+++ b/libc/tinymath/pow.c
@@ -25,7 +25,7 @@
 │  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                      │
 │                                                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/math.h"
 #include "libc/tinymath/exp_data.internal.h"
 #include "libc/tinymath/internal.h"
diff --git a/libc/tinymath/powf.c b/libc/tinymath/powf.c
index 0d8dd07a0..9c15bfbb4 100644
--- a/libc/tinymath/powf.c
+++ b/libc/tinymath/powf.c
@@ -25,7 +25,7 @@
 │  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                      │
 │                                                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/math.h"
 #include "libc/tinymath/exp2f_data.internal.h"
 #include "libc/tinymath/exp_data.internal.h"
diff --git a/libc/tinymath/rempio2.c b/libc/tinymath/rempio2.c
index a14fda98a..4643af122 100644
--- a/libc/tinymath/rempio2.c
+++ b/libc/tinymath/rempio2.c
@@ -25,7 +25,7 @@
 │  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                      │
 │                                                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/math.h"
 #include "libc/tinymath/kernel.internal.h"
 
diff --git a/libc/tinymath/rempio2f.c b/libc/tinymath/rempio2f.c
index c99d77d81..cdd0d6789 100644
--- a/libc/tinymath/rempio2f.c
+++ b/libc/tinymath/rempio2f.c
@@ -25,7 +25,7 @@
 │  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                      │
 │                                                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/math.h"
 #include "libc/tinymath/kernel.internal.h"
 
diff --git a/libc/tinymath/rint.S b/libc/tinymath/rint.S
index b3b8d3d4e..9ece4dc58 100644
--- a/libc/tinymath/rint.S
+++ b/libc/tinymath/rint.S
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/nexgen32e/x86feature.h"
-#include "libc/bits/smmintrin.internal.h"
+#include "libc/intrin/smmintrin.internal.h"
 #include "libc/macros.internal.h"
 
 //	Rounds to nearest integer.
diff --git a/libc/tinymath/round.S b/libc/tinymath/round.S
index cfdfd4648..17e4605b4 100644
--- a/libc/tinymath/round.S
+++ b/libc/tinymath/round.S
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/macros.internal.h"
-#include "libc/bits/smmintrin.internal.h"
+#include "libc/intrin/smmintrin.internal.h"
 #include "libc/nexgen32e/x86feature.h"
 
 //	Rounds to nearest integer, away from zero.
diff --git a/libc/tinymath/roundf.S b/libc/tinymath/roundf.S
index a7e582e36..3badb5bbe 100644
--- a/libc/tinymath/roundf.S
+++ b/libc/tinymath/roundf.S
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/macros.internal.h"
-#include "libc/bits/smmintrin.internal.h"
+#include "libc/intrin/smmintrin.internal.h"
 #include "libc/nexgen32e/x86feature.h"
 
 //	Rounds to nearest integer, away from zero.
diff --git a/libc/unicode/setlocale.c b/libc/unicode/setlocale.c
index 3273e361c..aca1d840f 100644
--- a/libc/unicode/setlocale.c
+++ b/libc/unicode/setlocale.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/str/str.h"
 #include "libc/unicode/locale.h"
 
diff --git a/libc/unicode/strnwidth16.c b/libc/unicode/strnwidth16.c
index d5df7d97e..09f5124fc 100644
--- a/libc/unicode/strnwidth16.c
+++ b/libc/unicode/strnwidth16.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/str/oldutf16.internal.h"
 #include "libc/str/str.h"
 #include "libc/unicode/unicode.h"
diff --git a/libc/unicode/strwidth16.c b/libc/unicode/strwidth16.c
index 85fca5832..21d8be632 100644
--- a/libc/unicode/strwidth16.c
+++ b/libc/unicode/strwidth16.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/limits.h"
 #include "libc/unicode/unicode.h"
 
diff --git a/libc/unicode/wcwidth.c b/libc/unicode/wcwidth.c
index fbb95490f..1a3384bdf 100644
--- a/libc/unicode/wcwidth.c
+++ b/libc/unicode/wcwidth.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/unicode/unicode.h"
 
 extern const uint8_t kEastAsianWidth[];
diff --git a/libc/x/makedirs.c b/libc/x/makedirs.c
index f236765cf..489b8b6d7 100644
--- a/libc/x/makedirs.c
+++ b/libc/x/makedirs.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/safemacros.internal.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/errno.h"
diff --git a/libc/x/replaceuser.c b/libc/x/replaceuser.c
index 44ca2b208..ccaf6d1b6 100644
--- a/libc/x/replaceuser.c
+++ b/libc/x/replaceuser.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/mem/mem.h"
 #include "libc/runtime/runtime.h"
diff --git a/libc/x/utf16toutf8.c b/libc/x/utf16toutf8.c
index 57ebd4c3b..feaaf7895 100644
--- a/libc/x/utf16toutf8.c
+++ b/libc/x/utf16toutf8.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/intrin/packsswb.h"
 #include "libc/intrin/pandn.h"
 #include "libc/intrin/pcmpgtb.h"
diff --git a/libc/x/xdie.c b/libc/x/xdie.c
index ac2952053..1b9056d65 100644
--- a/libc/x/xdie.c
+++ b/libc/x/xdie.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/log/log.h"
 #include "libc/runtime/runtime.h"
 #include "libc/x/x.h"
diff --git a/libc/x/xjoinpaths.c b/libc/x/xjoinpaths.c
index b7b21021e..8d960d5d5 100644
--- a/libc/x/xjoinpaths.c
+++ b/libc/x/xjoinpaths.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/str/path.h"
 #include "libc/str/str.h"
 #include "libc/x/x.h"
diff --git a/libc/x/xstrdup.c b/libc/x/xstrdup.c
index 8dc0b2d8e..84814658b 100644
--- a/libc/x/xstrdup.c
+++ b/libc/x/xstrdup.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/mem/mem.h"
 #include "libc/str/str.h"
 #include "libc/x/x.h"
diff --git a/libc/zip.h b/libc/zip.h
index 35477adf5..2dbce5bef 100644
--- a/libc/zip.h
+++ b/libc/zip.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_LIBC_ZIP_H_
 #define COSMOPOLITAN_LIBC_ZIP_H_
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/struct/timespec.h"
 #include "libc/macros.internal.h"
 #include "libc/str/str.h"
diff --git a/libc/zipos/notat.c b/libc/zipos/notat.c
index 4f45aa44b..30302e2fd 100644
--- a/libc/zipos/notat.c
+++ b/libc/zipos/notat.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/internal.h"
 #include "libc/sysv/errfuns.h"
 #include "libc/zipos/zipos.internal.h"
diff --git a/libc/zipos/open.c b/libc/zipos/open.c
index 2a6a6a469..b889b6a50 100644
--- a/libc/zipos/open.c
+++ b/libc/zipos/open.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/atomic.h"
+#include "libc/intrin/atomic.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/state.internal.h"
diff --git a/libc/zipos/read.c b/libc/zipos/read.c
index f1adb3774..3cfd5d025 100644
--- a/libc/zipos/read.c
+++ b/libc/zipos/read.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/struct/iovec.h"
 #include "libc/str/str.h"
 #include "libc/zip.h"
diff --git a/libc/zipos/stat-impl.c b/libc/zipos/stat-impl.c
index ff4e01ac4..54b7ec3c8 100644
--- a/libc/zipos/stat-impl.c
+++ b/libc/zipos/stat-impl.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/str/str.h"
 #include "libc/sysv/errfuns.h"
diff --git a/libc/zipos/stat.c b/libc/zipos/stat.c
index 2bdffd684..6e4f41e9d 100644
--- a/libc/zipos/stat.c
+++ b/libc/zipos/stat.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/stdio/stdio.h"
 #include "libc/sysv/errfuns.h"
 #include "libc/zipos/zipos.internal.h"
diff --git a/net/finger/describesyn.c b/net/finger/describesyn.c
index 2cf851bfa..aa7670d88 100644
--- a/net/finger/describesyn.c
+++ b/net/finger/describesyn.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/fmt/itoa.h"
 #include "net/finger/finger.h"
 
diff --git a/net/http/escapejsstringliteral.c b/net/http/escapejsstringliteral.c
index 68fc9ad38..f654edc5c 100644
--- a/net/http/escapejsstringliteral.c
+++ b/net/http/escapejsstringliteral.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/mem/mem.h"
 #include "libc/str/str.h"
 #include "libc/str/thompike.h"
diff --git a/net/http/findcontenttype.c b/net/http/findcontenttype.c
index 2af73cf83..e9ac53029 100644
--- a/net/http/findcontenttype.c
+++ b/net/http/findcontenttype.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/bswap.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/bswap.h"
 #include "libc/macros.internal.h"
 #include "libc/str/str.h"
 #include "net/http/http.h"
diff --git a/net/http/hascontrolcodes.c b/net/http/hascontrolcodes.c
index dd6c4e30d..74d6b55a0 100644
--- a/net/http/hascontrolcodes.c
+++ b/net/http/hascontrolcodes.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/str/str.h"
 #include "libc/str/thompike.h"
 #include "net/http/escape.h"
diff --git a/net/http/isacceptablepath.c b/net/http/isacceptablepath.c
index e1abffb39..ccd479a5d 100644
--- a/net/http/isacceptablepath.c
+++ b/net/http/isacceptablepath.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/str/str.h"
 #include "libc/str/thompike.h"
 #include "net/http/http.h"
diff --git a/net/http/parsehttpdatetime.c b/net/http/parsehttpdatetime.c
index 9a4bcf18b..5924760d8 100644
--- a/net/http/parsehttpdatetime.c
+++ b/net/http/parsehttpdatetime.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/time/time.h"
 #include "libc/str/str.h"
 #include "net/http/http.h"
diff --git a/net/http/parsehttpmessage.c b/net/http/parsehttpmessage.c
index 77afdf730..dd03b944b 100644
--- a/net/http/parsehttpmessage.c
+++ b/net/http/parsehttpmessage.c
@@ -19,7 +19,7 @@
 #include "libc/alg/alg.h"
 #include "libc/alg/arraylist.internal.h"
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/limits.h"
 #include "libc/macros.internal.h"
 #include "libc/mem/mem.h"
diff --git a/net/http/parseurl.c b/net/http/parseurl.c
index a599deb52..dfcbbfde9 100644
--- a/net/http/parseurl.c
+++ b/net/http/parseurl.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/limits.h"
 #include "libc/mem/mem.h"
 #include "libc/str/str.h"
diff --git a/net/https/certhasip.c b/net/https/certhasip.c
index e229037ba..d27d7c55e 100644
--- a/net/https/certhasip.c
+++ b/net/https/certhasip.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "net/https/https.h"
 
 bool CertHasIp(const mbedtls_x509_crt *cert, uint32_t ip) {
diff --git a/net/https/getsslcachefile.c b/net/https/getsslcachefile.c
index bbcffaf3c..a67498ba1 100644
--- a/net/https/getsslcachefile.c
+++ b/net/https/getsslcachefile.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/fmt/fmt.h"
 #include "libc/macros.internal.h"
 #include "libc/runtime/runtime.h"
diff --git a/net/https/https.mk b/net/https/https.mk
index 7328aca28..0d4b1d743 100644
--- a/net/https/https.mk
+++ b/net/https/https.mk
@@ -21,7 +21,6 @@ NET_HTTPS_A_CHECKS =				\
 	$(NET_HTTPS_A_HDRS:%=o/$(MODE)/%.ok)
 
 NET_HTTPS_A_DIRECTDEPS =			\
-	LIBC_BITS				\
 	LIBC_CALLS				\
 	LIBC_FMT				\
 	LIBC_INTRIN				\
diff --git a/net/https/sslcache.c b/net/https/sslcache.c
index 664f5f0ca..8b0f8e008 100644
--- a/net/https/sslcache.c
+++ b/net/https/sslcache.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/errno.h"
diff --git a/test/dsp/tty/ttymove_test.c b/test/dsp/tty/ttymove_test.c
index 14f2683c0..d829c9dde 100644
--- a/test/dsp/tty/ttymove_test.c
+++ b/test/dsp/tty/ttymove_test.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "dsp/tty/tty.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/rand/rand.h"
 #include "libc/str/str.h"
 #include "libc/testlib/ezbench.h"
diff --git a/test/dsp/tty/windex_test.c b/test/dsp/tty/windex_test.c
index 0a8d8452d..0a4d82420 100644
--- a/test/dsp/tty/windex_test.c
+++ b/test/dsp/tty/windex_test.c
@@ -18,7 +18,7 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "dsp/tty/windex.h"
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/limits.h"
 #include "libc/macros.internal.h"
 #include "libc/mem/mem.h"
diff --git a/test/libc/alg/bisectcarleft_test.c b/test/libc/alg/bisectcarleft_test.c
index 1068dd08c..80455c87b 100644
--- a/test/libc/alg/bisectcarleft_test.c
+++ b/test/libc/alg/bisectcarleft_test.c
@@ -18,7 +18,7 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/alg.h"
 #include "libc/alg/bisectcarleft.internal.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/macros.internal.h"
 #include "libc/runtime/runtime.h"
 #include "libc/testlib/testlib.h"
diff --git a/test/libc/alg/comparator_test.c b/test/libc/alg/comparator_test.c
index 468b1b4c0..f45e485c0 100644
--- a/test/libc/alg/comparator_test.c
+++ b/test/libc/alg/comparator_test.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/alg.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/mem/mem.h"
 #include "libc/str/str.h"
 #include "libc/testlib/testlib.h"
diff --git a/test/libc/alg/critbit0_test.c b/test/libc/alg/critbit0_test.c
index 0ee2581c0..e1388d990 100644
--- a/test/libc/alg/critbit0_test.c
+++ b/test/libc/alg/critbit0_test.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/critbit0.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/mem/mem.h"
 #include "libc/runtime/runtime.h"
 #include "libc/str/str.h"
diff --git a/test/libc/alg/tarjan_test.c b/test/libc/alg/tarjan_test.c
index 924c638db..4469dd32a 100644
--- a/test/libc/alg/tarjan_test.c
+++ b/test/libc/alg/tarjan_test.c
@@ -94,7 +94,7 @@ TEST(tarjan, testHeaders) {
   };
   const char *const vertices[] = {
       [LIBC_STR_STR] = "libc/str/str.h",
-      [LIBC_BITS_BITS] = "libc/bits/bits.h",
+      [LIBC_BITS_BITS] = "libc/intrin/bits.h",
       [LIBC_INTEGRAL] = "libc/integral.h",
       [LIBC_KEYWORDS] = "libc/keywords.h",
       [LIBC_DCE] = "libc/dce.h",
@@ -118,6 +118,6 @@ TEST(tarjan, testHeaders) {
   EXPECT_STREQ("libc/keywords.h", vertices[sorted[2]]);
   EXPECT_STREQ("libc/macros-cpp.inc", vertices[sorted[3]]);
   EXPECT_STREQ("libc/macros.internal.h", vertices[sorted[4]]);
-  EXPECT_STREQ("libc/bits/bits.h", vertices[sorted[5]]);
+  EXPECT_STREQ("libc/intrin/bits.h", vertices[sorted[5]]);
   EXPECT_STREQ("libc/str/str.h", vertices[sorted[6]]);
 }
diff --git a/test/libc/bits/test.mk b/test/libc/bits/test.mk
old mode 100644
new mode 100755
index d40450eee..e69de29bb
--- a/test/libc/bits/test.mk
+++ b/test/libc/bits/test.mk
@@ -1,62 +0,0 @@
-#-*-mode:makefile-gmake;indent-tabs-mode:t;tab-width:8;coding:utf-8-*-┐
-#───vi: set et ft=make ts=8 tw=8 fenc=utf-8 :vi───────────────────────┘
-
-PKGS += TEST_LIBC_BITS
-
-TEST_LIBC_BITS_SRCS := $(wildcard test/libc/bits/*.c)
-TEST_LIBC_BITS_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_BITS_SRCS))
-
-TEST_LIBC_BITS_OBJS =					\
-	$(TEST_LIBC_BITS_SRCS:%.c=o/$(MODE)/%.o)
-
-TEST_LIBC_BITS_COMS =					\
-	$(TEST_LIBC_BITS_SRCS:%.c=o/$(MODE)/%.com)
-
-TEST_LIBC_BITS_BINS =					\
-	$(TEST_LIBC_BITS_COMS)				\
-	$(TEST_LIBC_BITS_COMS:%=%.dbg)
-
-TEST_LIBC_BITS_TESTS =					\
-	$(TEST_LIBC_BITS_SRCS_TEST:%.c=o/$(MODE)/%.com.ok)
-
-TEST_LIBC_BITS_CHECKS =					\
-	$(TEST_LIBC_BITS_SRCS_TEST:%.c=o/$(MODE)/%.com.runs)
-
-TEST_LIBC_BITS_DIRECTDEPS =				\
-	LIBC_BITS					\
-	LIBC_CALLS					\
-	LIBC_FMT					\
-	LIBC_INTRIN					\
-	LIBC_MEM					\
-	LIBC_NEXGEN32E					\
-	LIBC_RUNTIME					\
-	LIBC_STUBS					\
-	LIBC_SYSV					\
-	LIBC_TESTLIB					\
-	LIBC_X						\
-	THIRD_PARTY_COMPILER_RT
-
-TEST_LIBC_BITS_DEPS :=					\
-	$(call uniq,$(foreach x,$(TEST_LIBC_BITS_DIRECTDEPS),$($(x))))
-
-o/$(MODE)/test/libc/bits/bits.pkg:			\
-		$(TEST_LIBC_BITS_OBJS)			\
-		$(foreach x,$(TEST_LIBC_BITS_DIRECTDEPS),$($(x)_A).pkg)
-
-o/$(MODE)/test/libc/bits/%.com.dbg:			\
-		$(TEST_LIBC_BITS_DEPS)			\
-		o/$(MODE)/test/libc/bits/%.o		\
-		o/$(MODE)/test/libc/bits/bits.pkg	\
-		$(LIBC_TESTMAIN)			\
-		$(CRT)					\
-		$(APE_NO_MODIFY_SELF)
-	@$(APELINK)
-
-$(TEST_LIBC_BITS_OBJS): private				\
-	DEFAULT_CCFLAGS +=				\
-		-fno-builtin
-
-.PHONY: o/$(MODE)/test/libc/bits
-o/$(MODE)/test/libc/bits:				\
-		$(TEST_LIBC_BITS_BINS)			\
-		$(TEST_LIBC_BITS_CHECKS)
diff --git a/test/libc/calls/commandv_test.c b/test/libc/calls/commandv_test.c
index 4f18ec745..d2713ca7e 100644
--- a/test/libc/calls/commandv_test.c
+++ b/test/libc/calls/commandv_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/dirent.h"
 #include "libc/calls/struct/stat.h"
diff --git a/test/libc/calls/ftruncate_test.c b/test/libc/calls/ftruncate_test.c
index 082b942a5..f53aa8eb7 100644
--- a/test/libc/calls/ftruncate_test.c
+++ b/test/libc/calls/ftruncate_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/dce.h"
diff --git a/test/libc/calls/ioctl_siocgifconf_test.c b/test/libc/calls/ioctl_siocgifconf_test.c
index 76f61d89c..bc6e7e784 100644
--- a/test/libc/calls/ioctl_siocgifconf_test.c
+++ b/test/libc/calls/ioctl_siocgifconf_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/ioctl.h"
diff --git a/test/libc/calls/sched_getaffinity_test.c b/test/libc/calls/sched_getaffinity_test.c
index 65a010946..bd0677535 100644
--- a/test/libc/calls/sched_getaffinity_test.c
+++ b/test/libc/calls/sched_getaffinity_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/popcnt.h"
+#include "libc/intrin/popcnt.h"
 #include "libc/calls/calls.h"
 #include "libc/dce.h"
 #include "libc/runtime/runtime.h"
diff --git a/test/libc/calls/sched_setscheduler_test.c b/test/libc/calls/sched_setscheduler_test.c
index dfbb72d5c..15e551390 100644
--- a/test/libc/calls/sched_setscheduler_test.c
+++ b/test/libc/calls/sched_setscheduler_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/midpoint.h"
+#include "libc/intrin/midpoint.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/sched_param.h"
 #include "libc/dce.h"
diff --git a/test/libc/calls/setrlimit_test.c b/test/libc/calls/setrlimit_test.c
index 71737be37..777a79d74 100644
--- a/test/libc/calls/setrlimit_test.c
+++ b/test/libc/calls/setrlimit_test.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "dsp/core/core.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/rlimit.h"
 #include "libc/calls/struct/sigaction.h"
diff --git a/test/libc/fmt/basename_test.c b/test/libc/fmt/basename_test.c
index 847221077..62b833d38 100644
--- a/test/libc/fmt/basename_test.c
+++ b/test/libc/fmt/basename_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/fmt/conv.h"
 #include "libc/mem/mem.h"
 #include "libc/runtime/gc.internal.h"
diff --git a/test/libc/fmt/palandprintf_test.c b/test/libc/fmt/palandprintf_test.c
index e5c8e2db6..9ac2165a0 100644
--- a/test/libc/fmt/palandprintf_test.c
+++ b/test/libc/fmt/palandprintf_test.c
@@ -24,8 +24,8 @@
 │ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN    │
 │ THE SOFTWARE.                                                                │
 └─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/pushpop.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/pushpop.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/errno.h"
 #include "libc/fmt/fmt.h"
 #include "libc/fmt/itoa.h"
diff --git a/test/libc/fmt/sprintf_s_test.c b/test/libc/fmt/sprintf_s_test.c
index 7cfb66fd5..330a45cdb 100644
--- a/test/libc/fmt/sprintf_s_test.c
+++ b/test/libc/fmt/sprintf_s_test.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/fmt/fmt.h"
 #include "libc/runtime/gc.internal.h"
 #include "libc/testlib/testlib.h"
diff --git a/test/libc/fmt/sscanf_test.c b/test/libc/fmt/sscanf_test.c
index bce247645..1e89a89ca 100644
--- a/test/libc/fmt/sscanf_test.c
+++ b/test/libc/fmt/sscanf_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/errno.h"
 #include "libc/fmt/fmt.h"
 #include "libc/limits.h"
diff --git a/test/libc/fmt/strerror_r_test.c b/test/libc/fmt/strerror_r_test.c
index 1f8552188..1fe1c8634 100644
--- a/test/libc/fmt/strerror_r_test.c
+++ b/test/libc/fmt/strerror_r_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dce.h"
 #include "libc/errno.h"
 #include "libc/fmt/fmt.h"
diff --git a/test/libc/bits/bextra_test.c b/test/libc/intrin/bextra_test.c
similarity index 99%
rename from test/libc/bits/bextra_test.c
rename to test/libc/intrin/bextra_test.c
index ad99cc5d9..3aaafb2b3 100644
--- a/test/libc/bits/bextra_test.c
+++ b/test/libc/intrin/bextra_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/testlib/ezbench.h"
 #include "libc/testlib/testlib.h"
diff --git a/test/libc/bits/bitreverse_test.c b/test/libc/intrin/bitreverse_test.c
similarity index 98%
rename from test/libc/bits/bitreverse_test.c
rename to test/libc/intrin/bitreverse_test.c
index 1d4cef342..408e266f2 100644
--- a/test/libc/bits/bitreverse_test.c
+++ b/test/libc/intrin/bitreverse_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/testlib/ezbench.h"
 #include "libc/testlib/testlib.h"
diff --git a/test/libc/bits/countbits_test.c b/test/libc/intrin/countbits_test.c
similarity index 97%
rename from test/libc/bits/countbits_test.c
rename to test/libc/intrin/countbits_test.c
index 9ad88fb14..de2ce0ee8 100644
--- a/test/libc/bits/countbits_test.c
+++ b/test/libc/intrin/countbits_test.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/popcnt.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/popcnt.h"
 #include "libc/calls/calls.h"
 #include "libc/mem/mem.h"
 #include "libc/runtime/gc.internal.h"
diff --git a/test/libc/bits/division_test.c b/test/libc/intrin/division_test.c
similarity index 98%
rename from test/libc/bits/division_test.c
rename to test/libc/intrin/division_test.c
index 61b9c398f..edde45cd7 100644
--- a/test/libc/bits/division_test.c
+++ b/test/libc/intrin/division_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/testlib/ezbench.h"
 #include "libc/testlib/testlib.h"
 
diff --git a/test/libc/bits/integralarithmetic_test.c b/test/libc/intrin/integralarithmetic_test.c
similarity index 98%
rename from test/libc/bits/integralarithmetic_test.c
rename to test/libc/intrin/integralarithmetic_test.c
index 45ba9dcaa..18161b7f2 100644
--- a/test/libc/bits/integralarithmetic_test.c
+++ b/test/libc/intrin/integralarithmetic_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/limits.h"
 #include "libc/macros.internal.h"
diff --git a/test/libc/intrin/kprintf_test.c b/test/libc/intrin/kprintf_test.c
index 2457f9602..5d61fbb4d 100644
--- a/test/libc/intrin/kprintf_test.c
+++ b/test/libc/intrin/kprintf_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/dce.h"
 #include "libc/errno.h"
diff --git a/test/libc/bits/morton_test.c b/test/libc/intrin/morton_test.c
similarity index 99%
rename from test/libc/bits/morton_test.c
rename to test/libc/intrin/morton_test.c
index 0c9a2ac5d..571cc6705 100644
--- a/test/libc/bits/morton_test.c
+++ b/test/libc/intrin/morton_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/morton.h"
+#include "libc/intrin/morton.h"
 #include "libc/calls/calls.h"
 #include "libc/errno.h"
 #include "libc/nexgen32e/kcpuids.h"
diff --git a/test/libc/bits/popcnt_test.c b/test/libc/intrin/popcnt_test.c
similarity index 98%
rename from test/libc/bits/popcnt_test.c
rename to test/libc/intrin/popcnt_test.c
index fbcc42dd5..93d219de1 100644
--- a/test/libc/bits/popcnt_test.c
+++ b/test/libc/intrin/popcnt_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/popcnt.h"
+#include "libc/intrin/popcnt.h"
 #include "libc/calls/calls.h"
 #include "libc/testlib/ezbench.h"
 #include "libc/testlib/hyperion.h"
diff --git a/test/libc/bits/rounddown2pow_test.c b/test/libc/intrin/rounddown2pow_test.c
similarity index 98%
rename from test/libc/bits/rounddown2pow_test.c
rename to test/libc/intrin/rounddown2pow_test.c
index 2b09f7bbf..f7418a13c 100644
--- a/test/libc/bits/rounddown2pow_test.c
+++ b/test/libc/intrin/rounddown2pow_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/testlib/testlib.h"
 
diff --git a/test/libc/bits/roundup2log_test.c b/test/libc/intrin/roundup2log_test.c
similarity index 98%
rename from test/libc/bits/roundup2log_test.c
rename to test/libc/intrin/roundup2log_test.c
index b498b3cf2..07a6aad4a 100644
--- a/test/libc/bits/roundup2log_test.c
+++ b/test/libc/intrin/roundup2log_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/testlib/testlib.h"
 
diff --git a/test/libc/bits/roundup2pow_test.c b/test/libc/intrin/roundup2pow_test.c
similarity index 98%
rename from test/libc/bits/roundup2pow_test.c
rename to test/libc/intrin/roundup2pow_test.c
index a58903214..a62bfcebf 100644
--- a/test/libc/bits/roundup2pow_test.c
+++ b/test/libc/intrin/roundup2pow_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/log/check.h"
 #include "libc/macros.internal.h"
diff --git a/test/libc/intrin/strlen_test.c b/test/libc/intrin/strlen_test.c
index 403218c9c..6a5736317 100644
--- a/test/libc/intrin/strlen_test.c
+++ b/test/libc/intrin/strlen_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/macros.internal.h"
 #include "libc/mem/mem.h"
 #include "libc/nexgen32e/bsr.h"
diff --git a/test/libc/intrin/test.mk b/test/libc/intrin/test.mk
index 3d5983f8a..d1db7cdd9 100644
--- a/test/libc/intrin/test.mk
+++ b/test/libc/intrin/test.mk
@@ -40,7 +40,8 @@ TEST_LIBC_INTRIN_DIRECTDEPS =				\
 	LIBC_TINYMATH					\
 	LIBC_UNICODE					\
 	LIBC_X						\
-	TOOL_VIZ_LIB
+	TOOL_VIZ_LIB					\
+	THIRD_PARTY_COMPILER_RT
 
 TEST_LIBC_INTRIN_DEPS :=				\
 	$(call uniq,$(foreach x,$(TEST_LIBC_INTRIN_DIRECTDEPS),$($(x))))
diff --git a/test/libc/mem/malloc_test.c b/test/libc/mem/malloc_test.c
index e203484a3..b8fbfcadd 100644
--- a/test/libc/mem/malloc_test.c
+++ b/test/libc/mem/malloc_test.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/dce.h"
diff --git a/test/libc/mem/strdup_test.c b/test/libc/mem/strdup_test.c
index 88919834c..c6285d056 100644
--- a/test/libc/mem/strdup_test.c
+++ b/test/libc/mem/strdup_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/mem/mem.h"
 #include "libc/testlib/testlib.h"
 
diff --git a/test/libc/mem/test.mk b/test/libc/mem/test.mk
index e337fc30a..abc921284 100644
--- a/test/libc/mem/test.mk
+++ b/test/libc/mem/test.mk
@@ -72,7 +72,7 @@ o/$(MODE)/test/libc/mem/prog/sock.o:					\
 		test/libc/mem/prog/sock.c			\
 		libc/errno.h					\
 		libc/sock/sock.h				\
-		libc/bits/bswap.h				\
+		libc/intrin/bswap.h				\
 		libc/sysv/consts/af.h				\
 		libc/runtime/symbolic.h				\
 		libc/sysv/consts/sock.h
diff --git a/test/libc/nexgen32e/lz4decode_test.c b/test/libc/nexgen32e/lz4decode_test.c
index 2b222c03b..87c405067 100644
--- a/test/libc/nexgen32e/lz4decode_test.c
+++ b/test/libc/nexgen32e/lz4decode_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/log/check.h"
 #include "libc/mem/mem.h"
diff --git a/test/libc/nexgen32e/memmove_test.c b/test/libc/nexgen32e/memmove_test.c
index 9ec2311d0..6c43e46f6 100644
--- a/test/libc/nexgen32e/memmove_test.c
+++ b/test/libc/nexgen32e/memmove_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/macros.internal.h"
 #include "libc/mem/mem.h"
 #include "libc/rand/rand.h"
diff --git a/test/libc/rand/getrandom_test.c b/test/libc/rand/getrandom_test.c
index 0f28dda20..89368afbc 100644
--- a/test/libc/rand/getrandom_test.c
+++ b/test/libc/rand/getrandom_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/log/check.h"
 #include "libc/math.h"
 #include "libc/nexgen32e/x86feature.h"
diff --git a/test/libc/rand/mt19937_test.c b/test/libc/rand/mt19937_test.c
index b6b87a781..0274db013 100644
--- a/test/libc/rand/mt19937_test.c
+++ b/test/libc/rand/mt19937_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/errno.h"
 #include "libc/log/check.h"
 #include "libc/macros.internal.h"
diff --git a/test/libc/rand/rand64_test.c b/test/libc/rand/rand64_test.c
index b7dabd013..18a63883e 100644
--- a/test/libc/rand/rand64_test.c
+++ b/test/libc/rand/rand64_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/atomic.h"
+#include "libc/intrin/atomic.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/sigaction.h"
 #include "libc/calls/struct/sigset.h"
diff --git a/test/libc/rand/rand_test.c b/test/libc/rand/rand_test.c
index 3969cdd10..2982b9369 100644
--- a/test/libc/rand/rand_test.c
+++ b/test/libc/rand/rand_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/mem/mem.h"
 #include "libc/rand/rand.h"
 #include "libc/str/str.h"
diff --git a/test/libc/rand/rngset_test.c b/test/libc/rand/rngset_test.c
index 5db3fb224..957817e81 100644
--- a/test/libc/rand/rngset_test.c
+++ b/test/libc/rand/rngset_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/rand/rand.h"
 #include "libc/testlib/testlib.h"
 
diff --git a/test/libc/runtime/arch_prctl_test.c b/test/libc/runtime/arch_prctl_test.c
index 85de2bd71..007023079 100644
--- a/test/libc/runtime/arch_prctl_test.c
+++ b/test/libc/runtime/arch_prctl_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/segmentation.h"
+#include "libc/intrin/segmentation.h"
 #include "libc/calls/calls.h"
 #include "libc/dce.h"
 #include "libc/nexgen32e/threaded.h"
diff --git a/test/libc/runtime/grow_test.c b/test/libc/runtime/grow_test.c
index d73abf9ea..08e541056 100644
--- a/test/libc/runtime/grow_test.c
+++ b/test/libc/runtime/grow_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/pushpop.h"
+#include "libc/intrin/pushpop.h"
 #include "libc/limits.h"
 #include "libc/macros.internal.h"
 #include "libc/mem/mem.h"
diff --git a/test/libc/runtime/mmap_test.c b/test/libc/runtime/mmap_test.c
index 163ef7051..e3ed3d042 100644
--- a/test/libc/runtime/mmap_test.c
+++ b/test/libc/runtime/mmap_test.c
@@ -16,10 +16,10 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/atomic.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
-#include "libc/bits/xchg.internal.h"
+#include "libc/intrin/atomic.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
+#include "libc/intrin/xchg.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/ucontext.h"
 #include "libc/dce.h"
diff --git a/test/libc/runtime/munmap_test.c b/test/libc/runtime/munmap_test.c
index 0cd90a9f0..49424da8f 100644
--- a/test/libc/runtime/munmap_test.c
+++ b/test/libc/runtime/munmap_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/atomic.h"
+#include "libc/intrin/atomic.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/sigaction.h"
 #include "libc/calls/struct/siginfo.h"
diff --git a/test/libc/runtime/test.mk b/test/libc/runtime/test.mk
index dc75e4c57..3c0d22553 100644
--- a/test/libc/runtime/test.mk
+++ b/test/libc/runtime/test.mk
@@ -24,7 +24,6 @@ TEST_LIBC_RUNTIME_CHECKS =					\
 
 TEST_LIBC_RUNTIME_DIRECTDEPS =					\
 	LIBC_ALG						\
-	LIBC_BITS						\
 	LIBC_CALLS						\
 	LIBC_FMT						\
 	LIBC_INTRIN						\
diff --git a/test/libc/sock/inet_pton_test.c b/test/libc/sock/inet_pton_test.c
index b3db98c31..acb748abb 100644
--- a/test/libc/sock/inet_pton_test.c
+++ b/test/libc/sock/inet_pton_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/sock/sock.h"
 #include "libc/sysv/consts/af.h"
 #include "libc/sysv/consts/inaddr.h"
diff --git a/test/libc/stdio/fgetwc_test.c b/test/libc/stdio/fgetwc_test.c
index a8263e261..2f69f6138 100644
--- a/test/libc/stdio/fgetwc_test.c
+++ b/test/libc/stdio/fgetwc_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/stdio/stdio.h"
 #include "libc/testlib/testlib.h"
 
diff --git a/test/libc/stdio/getdelim_test.c b/test/libc/stdio/getdelim_test.c
index 60700469c..be962890f 100644
--- a/test/libc/stdio/getdelim_test.c
+++ b/test/libc/stdio/getdelim_test.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/intrin/kprintf.h"
 #include "libc/log/libfatal.internal.h"
 #include "libc/mem/mem.h"
diff --git a/test/libc/stdio/mkostempsm_test.c b/test/libc/stdio/mkostempsm_test.c
index f99e32a7e..53a022763 100644
--- a/test/libc/stdio/mkostempsm_test.c
+++ b/test/libc/stdio/mkostempsm_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/errno.h"
 #include "libc/runtime/runtime.h"
 #include "libc/stdio/internal.h"
diff --git a/test/libc/stdio/spawn_test.c b/test/libc/stdio/spawn_test.c
index 3c76f36c0..aecdd73cf 100644
--- a/test/libc/stdio/spawn_test.c
+++ b/test/libc/stdio/spawn_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/dce.h"
 #include "libc/fmt/conv.h"
diff --git a/test/libc/stdio/test.mk b/test/libc/stdio/test.mk
index 0ac46861a..c5e59f05c 100644
--- a/test/libc/stdio/test.mk
+++ b/test/libc/stdio/test.mk
@@ -23,7 +23,6 @@ TEST_LIBC_STDIO_CHECKS =				\
 	$(TEST_LIBC_STDIO_SRCS_TEST:%.c=o/$(MODE)/%.com.runs)
 
 TEST_LIBC_STDIO_DIRECTDEPS =				\
-	LIBC_BITS					\
 	LIBC_CALLS					\
 	LIBC_FMT					\
 	LIBC_INTRIN					\
diff --git a/test/libc/stdio/vappendf_test.c b/test/libc/stdio/vappendf_test.c
index 2a0a3b866..49edf2105 100644
--- a/test/libc/stdio/vappendf_test.c
+++ b/test/libc/stdio/vappendf_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/intrin/kprintf.h"
 #include "libc/mem/mem.h"
 #include "libc/stdio/append.internal.h"
diff --git a/test/libc/str/crc32c_test.c b/test/libc/str/crc32c_test.c
index b80c2492d..e15452be4 100644
--- a/test/libc/str/crc32c_test.c
+++ b/test/libc/str/crc32c_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dce.h"
 #include "libc/mem/mem.h"
 #include "libc/nexgen32e/crc32.h"
diff --git a/test/libc/str/crc32z_test.c b/test/libc/str/crc32z_test.c
index 586adce38..d930626ef 100644
--- a/test/libc/str/crc32z_test.c
+++ b/test/libc/str/crc32z_test.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dce.h"
 #include "libc/intrin/asan.internal.h"
 #include "libc/mem/mem.h"
diff --git a/test/libc/str/getutf16_test.c b/test/libc/str/getutf16_test.c
index c4bb686d5..a941dc8b7 100644
--- a/test/libc/str/getutf16_test.c
+++ b/test/libc/str/getutf16_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/str/oldutf16.internal.h"
 #include "libc/str/str.h"
 #include "libc/str/tpdecode.internal.h"
diff --git a/test/libc/str/memcpy_test.c b/test/libc/str/memcpy_test.c
index bcb23fb2c..ee6452817 100644
--- a/test/libc/str/memcpy_test.c
+++ b/test/libc/str/memcpy_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/mem/mem.h"
 #include "libc/nexgen32e/nexgen32e.h"
 #include "libc/rand/rand.h"
diff --git a/test/libc/str/memfrob_test.c b/test/libc/str/memfrob_test.c
index 332641348..71a87282f 100644
--- a/test/libc/str/memfrob_test.c
+++ b/test/libc/str/memfrob_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/str/str.h"
 #include "libc/testlib/testlib.h"
 
diff --git a/test/libc/str/memmem_test.c b/test/libc/str/memmem_test.c
index 1a586b924..eb9c28a8e 100644
--- a/test/libc/str/memmem_test.c
+++ b/test/libc/str/memmem_test.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/alg.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/likely.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/likely.h"
 #include "libc/mem/mem.h"
 #include "libc/rand/rand.h"
 #include "libc/str/internal.h"
diff --git a/test/libc/str/pututf16_test.c b/test/libc/str/pututf16_test.c
index 8af2b8b8e..e2172efa1 100644
--- a/test/libc/str/pututf16_test.c
+++ b/test/libc/str/pututf16_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/mem/mem.h"
 #include "libc/runtime/gc.internal.h"
 #include "libc/str/oldutf16.internal.h"
diff --git a/test/libc/str/qsort_test.c b/test/libc/str/qsort_test.c
index 869249e80..17fdad838 100644
--- a/test/libc/str/qsort_test.c
+++ b/test/libc/str/qsort_test.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/alg.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/macros.internal.h"
 #include "libc/mem/mem.h"
 #include "libc/nexgen32e/bsr.h"
diff --git a/test/libc/str/sigset_test.c b/test/libc/str/sigset_test.c
index 10171e6d1..7dd2f1f50 100644
--- a/test/libc/str/sigset_test.c
+++ b/test/libc/str/sigset_test.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/sigset.h"
 #include "libc/str/str.h"
diff --git a/test/libc/str/str_test.c b/test/libc/str/str_test.c
index 57818969b..3ccfdd70e 100644
--- a/test/libc/str/str_test.c
+++ b/test/libc/str/str_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/str/str.h"
 #include "libc/testlib/testlib.h"
 
diff --git a/test/libc/str/strcasestr_test.c b/test/libc/str/strcasestr_test.c
index 43ceb0709..7729ff5a9 100644
--- a/test/libc/str/strcasestr_test.c
+++ b/test/libc/str/strcasestr_test.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/alg.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dce.h"
 #include "libc/mem/mem.h"
 #include "libc/nexgen32e/x86feature.h"
diff --git a/test/libc/str/strchr_test.c b/test/libc/str/strchr_test.c
index 7c0e5f1f7..b297131c4 100644
--- a/test/libc/str/strchr_test.c
+++ b/test/libc/str/strchr_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/mem/mem.h"
 #include "libc/rand/rand.h"
 #include "libc/str/str.h"
diff --git a/test/libc/str/strcmp_test.c b/test/libc/str/strcmp_test.c
index 9863bf5ac..ff2ebeb80 100644
--- a/test/libc/str/strcmp_test.c
+++ b/test/libc/str/strcmp_test.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dce.h"
 #include "libc/macros.internal.h"
 #include "libc/mem/mem.h"
diff --git a/test/libc/str/strstr_test.c b/test/libc/str/strstr_test.c
index 31bbcc797..a4372246f 100644
--- a/test/libc/str/strstr_test.c
+++ b/test/libc/str/strstr_test.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/alg.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dce.h"
 #include "libc/mem/mem.h"
 #include "libc/nexgen32e/x86feature.h"
diff --git a/test/libc/str/strtolower_test.c b/test/libc/str/strtolower_test.c
index 906338019..77f46d05c 100644
--- a/test/libc/str/strtolower_test.c
+++ b/test/libc/str/strtolower_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/str/str.h"
 #include "libc/testlib/testlib.h"
 
diff --git a/test/libc/str/tprecode8to16_test.c b/test/libc/str/tprecode8to16_test.c
index d08af3840..bf1edcbda 100644
--- a/test/libc/str/tprecode8to16_test.c
+++ b/test/libc/str/tprecode8to16_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/mem/mem.h"
 #include "libc/str/str.h"
 #include "libc/testlib/ezbench.h"
diff --git a/test/libc/thread/spawn_test.c b/test/libc/thread/spawn_test.c
index a8de615e6..633559697 100644
--- a/test/libc/thread/spawn_test.c
+++ b/test/libc/thread/spawn_test.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/atomic.h"
+#include "libc/intrin/atomic.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/syscall-sysv.internal.h"
 #include "libc/intrin/kprintf.h"
diff --git a/test/libc/unicode/wcwidth_test.c b/test/libc/unicode/wcwidth_test.c
index d23ec23ef..898ebfc3c 100644
--- a/test/libc/unicode/wcwidth_test.c
+++ b/test/libc/unicode/wcwidth_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/str/str.h"
 #include "libc/testlib/ezbench.h"
 #include "libc/testlib/testlib.h"
diff --git a/test/net/http/parsehttpmessage_test.c b/test/net/http/parsehttpmessage_test.c
index bb2897e38..758465367 100644
--- a/test/net/http/parsehttpmessage_test.c
+++ b/test/net/http/parsehttpmessage_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/errno.h"
 #include "libc/log/check.h"
 #include "libc/mem/mem.h"
diff --git a/test/net/https/mbedtls_test.c b/test/net/https/mbedtls_test.c
index 23cd4a068..dc3d67a17 100644
--- a/test/net/https/mbedtls_test.c
+++ b/test/net/https/mbedtls_test.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/bswap.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/bswap.h"
 #include "libc/macros.internal.h"
 #include "libc/nexgen32e/crc32.h"
 #include "libc/nexgen32e/nexgen32e.h"
diff --git a/test/tool/build/lib/interner_test.c b/test/tool/build/lib/interner_test.c
index bc5d8208f..a9cfa36d0 100644
--- a/test/tool/build/lib/interner_test.c
+++ b/test/tool/build/lib/interner_test.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/mem/mem.h"
 #include "libc/runtime/gc.internal.h"
 #include "libc/stdio/stdio.h"
diff --git a/test/tool/build/lib/optest.c b/test/tool/build/lib/optest.c
index 35a4c0c7b..891415b7e 100644
--- a/test/tool/build/lib/optest.c
+++ b/test/tool/build/lib/optest.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/macros.internal.h"
 #include "libc/runtime/runtime.h"
 #include "libc/stdio/stdio.h"
diff --git a/third_party/argon2/argon2.mk b/third_party/argon2/argon2.mk
index fd257d24a..977dfd2c6 100644
--- a/third_party/argon2/argon2.mk
+++ b/third_party/argon2/argon2.mk
@@ -19,7 +19,6 @@ THIRD_PARTY_ARGON2_A_DIRECTDEPS =				\
 	LIBC_CALLS						\
 	LIBC_FMT						\
 	LIBC_INTRIN						\
-	LIBC_BITS						\
 	LIBC_NEXGEN32E						\
 	LIBC_MEM						\
 	LIBC_SYSV						\
diff --git a/third_party/argon2/blake2b.c b/third_party/argon2/blake2b.c
index 5aad00f29..ee0f6c644 100644
--- a/third_party/argon2/blake2b.c
+++ b/third_party/argon2/blake2b.c
@@ -15,7 +15,7 @@
 │ - Apache 2.0        : https://www.apache.org/licenses/LICENSE-2.0            │
 │                                                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/limits.h"
 #include "third_party/argon2/blake2-impl.h"
 #include "third_party/argon2/blake2.h"
diff --git a/third_party/chibicc/as.c b/third_party/chibicc/as.c
index aee654401..69ba3a886 100644
--- a/third_party/chibicc/as.c
+++ b/third_party/chibicc/as.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/popcnt.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/popcnt.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/elf/def.h"
diff --git a/third_party/chibicc/chibicc.h b/third_party/chibicc/chibicc.h
index 94785b3bd..24586cd8f 100644
--- a/third_party/chibicc/chibicc.h
+++ b/third_party/chibicc/chibicc.h
@@ -1,7 +1,7 @@
 #ifndef COSMOPOLITAN_THIRD_PARTY_CHIBICC_CHIBICC_H_
 #define COSMOPOLITAN_THIRD_PARTY_CHIBICC_CHIBICC_H_
 #include "libc/assert.h"
-#include "libc/bits/popcnt.h"
+#include "libc/intrin/popcnt.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/calls/weirdtypes.h"
diff --git a/third_party/chibicc/chibicc.mk b/third_party/chibicc/chibicc.mk
index 8f5610484..2d6e8eaaf 100644
--- a/third_party/chibicc/chibicc.mk
+++ b/third_party/chibicc/chibicc.mk
@@ -44,7 +44,6 @@ THIRD_PARTY_CHIBICC_A_CHECKS =						\
 
 THIRD_PARTY_CHIBICC_A_DIRECTDEPS =					\
 	LIBC_ALG							\
-	LIBC_BITS							\
 	LIBC_CALLS							\
 	LIBC_FMT							\
 	LIBC_INTRIN							\
diff --git a/third_party/chibicc/dox2.c b/third_party/chibicc/dox2.c
index 2fa461d49..64cd55eec 100644
--- a/third_party/chibicc/dox2.c
+++ b/third_party/chibicc/dox2.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/alg.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/sysv/consts/map.h"
 #include "libc/sysv/consts/o.h"
 #include "libc/sysv/consts/prot.h"
diff --git a/third_party/chibicc/pybind.c b/third_party/chibicc/pybind.c
index 2b8bf360c..48bccc0b4 100644
--- a/third_party/chibicc/pybind.c
+++ b/third_party/chibicc/pybind.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/fmt/conv.h"
 #include "libc/log/libfatal.internal.h"
 #include "libc/mem/mem.h"
diff --git a/third_party/dlmalloc/dlmalloc.c b/third_party/dlmalloc/dlmalloc.c
index 0e87369fd..c5210effe 100644
--- a/third_party/dlmalloc/dlmalloc.c
+++ b/third_party/dlmalloc/dlmalloc.c
@@ -1,6 +1,6 @@
 #include "libc/assert.h"
-#include "libc/bits/likely.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/likely.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/dce.h"
 #include "libc/errno.h"
diff --git a/third_party/dlmalloc/dlmalloc.mk b/third_party/dlmalloc/dlmalloc.mk
index 002a3e39b..ce95c5843 100644
--- a/third_party/dlmalloc/dlmalloc.mk
+++ b/third_party/dlmalloc/dlmalloc.mk
@@ -25,7 +25,6 @@ THIRD_PARTY_DLMALLOC_A_CHECKS =					\
 	$(THIRD_PARTY_DLMALLOC_A_HDRS:%=o/$(MODE)/%.ok)
 
 THIRD_PARTY_DLMALLOC_A_DIRECTDEPS =				\
-	LIBC_BITS						\
 	LIBC_CALLS						\
 	LIBC_INTRIN						\
 	LIBC_FMT						\
diff --git a/third_party/dlmalloc/dlmalloc_abort.greg.c b/third_party/dlmalloc/dlmalloc_abort.greg.c
index d2b2fd17a..a9fa884d3 100644
--- a/third_party/dlmalloc/dlmalloc_abort.greg.c
+++ b/third_party/dlmalloc/dlmalloc_abort.greg.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/log/log.h"
 #include "libc/runtime/runtime.h"
diff --git a/third_party/double-conversion/wrapper.cc b/third_party/double-conversion/wrapper.cc
index 068408051..73f07d13c 100644
--- a/third_party/double-conversion/wrapper.cc
+++ b/third_party/double-conversion/wrapper.cc
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/str/str.h"
 #include "third_party/double-conversion/double-conversion.h"
 #include "third_party/double-conversion/double-to-string.h"
diff --git a/third_party/linenoise/linenoise.c b/third_party/linenoise/linenoise.c
index ba0354283..0c50ffc61 100644
--- a/third_party/linenoise/linenoise.c
+++ b/third_party/linenoise/linenoise.c
@@ -126,7 +126,7 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/alg.h"
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/sig.internal.h"
 #include "libc/calls/strace.internal.h"
diff --git a/third_party/lua/ldo.c b/third_party/lua/ldo.c
index 1ae82ec13..0412dc463 100644
--- a/third_party/lua/ldo.c
+++ b/third_party/lua/ldo.c
@@ -27,7 +27,7 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #define ldo_c
 #define LUA_CORE
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/log/log.h"
 #include "libc/runtime/gc.h"
 #include "libc/runtime/internal.h"
diff --git a/third_party/lua/luaencodejsondata.c b/third_party/lua/luaencodejsondata.c
index 7fe96af4d..a2d7be164 100644
--- a/third_party/lua/luaencodejsondata.c
+++ b/third_party/lua/luaencodejsondata.c
@@ -18,8 +18,8 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/critbit0.h"
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/likely.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/likely.h"
 #include "libc/fmt/itoa.h"
 #include "libc/log/log.h"
 #include "libc/log/rop.h"
diff --git a/third_party/lua/luaencodeluadata.c b/third_party/lua/luaencodeluadata.c
index 5b4cc9e08..bcd613e87 100644
--- a/third_party/lua/luaencodeluadata.c
+++ b/third_party/lua/luaencodeluadata.c
@@ -18,7 +18,7 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/critbit0.h"
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/fmt/itoa.h"
 #include "libc/log/rop.h"
 #include "libc/math.h"
diff --git a/third_party/lua/lunix.c b/third_party/lua/lunix.c
index 5493d49bc..c3f527011 100644
--- a/third_party/lua/lunix.c
+++ b/third_party/lua/lunix.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/ioctl.h"
 #include "libc/calls/makedev.h"
diff --git a/third_party/lz4cli/bench.c b/third_party/lz4cli/bench.c
index a924bf9bb..00874389f 100644
--- a/third_party/lz4cli/bench.c
+++ b/third_party/lz4cli/bench.c
@@ -43,7 +43,7 @@
 #include "libc/stdio/stdio.h"       /* fprintf, fopen, ftello */
 #include "libc/time/time.h"        /* clock_t, clock, CLOCKS_PER_SEC */
 #include "libc/assert.h"
-#include "libc/bits/initializer.internal.h"
+#include "libc/intrin/initializer.internal.h"
 #include "libc/runtime/runtime.h"      /* assert */
 
 #include "third_party/lz4cli/datagen.h"     /* RDG_genBuffer */
diff --git a/third_party/lz4cli/lz4io.c b/third_party/lz4cli/lz4io.c
index 3ade722fa..0d1c7323b 100644
--- a/third_party/lz4cli/lz4io.c
+++ b/third_party/lz4cli/lz4io.c
@@ -54,7 +54,7 @@
 #include "third_party/lz4cli/lz4hc.h"     /* still required for legacy format */
 #define LZ4F_STATIC_LINKING_ONLY
 #include "libc/runtime/runtime.h"
-#include "libc/bits/initializer.internal.h"
+#include "libc/intrin/initializer.internal.h"
 #include "third_party/lz4cli/lz4frame.h"
 
 
diff --git a/third_party/make/getprogname.c b/third_party/make/getprogname.c
index 861330f07..c953906d8 100644
--- a/third_party/make/getprogname.c
+++ b/third_party/make/getprogname.c
@@ -17,7 +17,7 @@
 /* clang-format off */
 #include "third_party/make/config.h"
 #include "third_party/make/getprogname.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "third_party/make/dirname.h"
 
 char const *
diff --git a/third_party/make/job.c b/third_party/make/job.c
index d61b3c209..6dc9cb239 100644
--- a/third_party/make/job.c
+++ b/third_party/make/job.c
@@ -28,15 +28,15 @@ this program.  If not, see <http://www.gnu.org/licenses/>.  */
 #include "libc/runtime/stack.h"
 #include "libc/calls/calls.h"
 #include "libc/x/x.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/x/x.h"
 #include "libc/runtime/runtime.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/elf/struct/ehdr.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/intrin/kprintf.h"
 #include "libc/intrin/kprintf.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/runtime/runtime.h"
 #include "libc/elf/def.h"
 #include "libc/intrin/kprintf.h"
diff --git a/third_party/maxmind/maxminddb.c b/third_party/maxmind/maxminddb.c
index 2e4537654..04d3df90c 100644
--- a/third_party/maxmind/maxminddb.c
+++ b/third_party/maxmind/maxminddb.c
@@ -16,7 +16,7 @@
 │ limitations under the License.                                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/calls/weirdtypes.h"
diff --git a/third_party/mbedtls/aes.c b/third_party/mbedtls/aes.c
index 462d43e56..797a4d90a 100644
--- a/third_party/mbedtls/aes.c
+++ b/third_party/mbedtls/aes.c
@@ -15,7 +15,7 @@
 │ See the License for the specific language governing permissions and          │
 │ limitations under the License.                                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/nexgen32e/x86feature.h"
 #include "libc/str/str.h"
 #include "third_party/mbedtls/aes.h"
diff --git a/third_party/mbedtls/aesni.c b/third_party/mbedtls/aesni.c
index 526348f94..4acf62a86 100644
--- a/third_party/mbedtls/aesni.c
+++ b/third_party/mbedtls/aesni.c
@@ -15,7 +15,7 @@
 │ See the License for the specific language governing permissions and          │
 │ limitations under the License.                                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/str/str.h"
 #include "third_party/mbedtls/aesni.h"
 #include "third_party/mbedtls/common.h"
diff --git a/third_party/mbedtls/bigmul.c b/third_party/mbedtls/bigmul.c
index 202663738..0ad521491 100644
--- a/third_party/mbedtls/bigmul.c
+++ b/third_party/mbedtls/bigmul.c
@@ -15,7 +15,7 @@
 │ See the License for the specific language governing permissions and          │
 │ limitations under the License.                                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/log/backtrace.internal.h"
 #include "libc/log/check.h"
 #include "libc/macros.internal.h"
diff --git a/third_party/mbedtls/bignum.c b/third_party/mbedtls/bignum.c
index bd6cc4a7b..756334edc 100644
--- a/third_party/mbedtls/bignum.c
+++ b/third_party/mbedtls/bignum.c
@@ -16,8 +16,8 @@
 │ limitations under the License.                                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/bswap.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/bswap.h"
 #include "libc/log/backtrace.internal.h"
 #include "libc/log/check.h"
 #include "libc/log/log.h"
diff --git a/third_party/mbedtls/chacha20.c b/third_party/mbedtls/chacha20.c
index 44d3441cb..3fec6a6d8 100644
--- a/third_party/mbedtls/chacha20.c
+++ b/third_party/mbedtls/chacha20.c
@@ -15,7 +15,7 @@
 │ See the License for the specific language governing permissions and          │
 │ limitations under the License.                                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/stdio/stdio.h"
 #include "libc/str/str.h"
 #include "third_party/mbedtls/chacha20.h"
diff --git a/third_party/mbedtls/everest.c b/third_party/mbedtls/everest.c
index 5ad53b302..764681b31 100644
--- a/third_party/mbedtls/everest.c
+++ b/third_party/mbedtls/everest.c
@@ -15,7 +15,7 @@
 │ See the License for the specific language governing permissions and          │
 │ limitations under the License.                                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "third_party/mbedtls/endian.h"
 
 asm(".ident\t\"\\n\\n\
diff --git a/third_party/mbedtls/formatclientciphers.c b/third_party/mbedtls/formatclientciphers.c
index 7c253027f..0d8bcef01 100644
--- a/third_party/mbedtls/formatclientciphers.c
+++ b/third_party/mbedtls/formatclientciphers.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/macros.internal.h"
 #include "libc/stdio/append.internal.h"
 #include "third_party/mbedtls/iana.h"
diff --git a/third_party/mbedtls/gcm.c b/third_party/mbedtls/gcm.c
index f800ea983..b16aeb153 100644
--- a/third_party/mbedtls/gcm.c
+++ b/third_party/mbedtls/gcm.c
@@ -15,8 +15,8 @@
 │ See the License for the specific language governing permissions and          │
 │ limitations under the License.                                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/likely.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/likely.h"
 #include "libc/log/log.h"
 #include "libc/nexgen32e/x86feature.h"
 #include "libc/runtime/runtime.h"
diff --git a/third_party/mbedtls/mbedtls.mk b/third_party/mbedtls/mbedtls.mk
index 52c0ea862..90f35ab9f 100644
--- a/third_party/mbedtls/mbedtls.mk
+++ b/third_party/mbedtls/mbedtls.mk
@@ -16,7 +16,6 @@ THIRD_PARTY_MBEDTLS_A_CHECKS =						\
 	$(THIRD_PARTY_MBEDTLS_A_HDRS:%=o/$(MODE)/%.ok)
 
 THIRD_PARTY_MBEDTLS_A_DIRECTDEPS =					\
-	LIBC_BITS							\
 	LIBC_CALLS							\
 	LIBC_DNS							\
 	LIBC_FMT							\
diff --git a/third_party/mbedtls/md5.c b/third_party/mbedtls/md5.c
index 362465b6c..ce67a44e1 100644
--- a/third_party/mbedtls/md5.c
+++ b/third_party/mbedtls/md5.c
@@ -15,7 +15,7 @@
 │ See the License for the specific language governing permissions and          │
 │ limitations under the License.                                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/str/str.h"
 #include "third_party/mbedtls/common.h"
 #include "third_party/mbedtls/error.h"
diff --git a/third_party/mbedtls/platform.h b/third_party/mbedtls/platform.h
index 1dd97bd63..cc8db6620 100644
--- a/third_party/mbedtls/platform.h
+++ b/third_party/mbedtls/platform.h
@@ -1,7 +1,7 @@
 #ifndef COSMOPOLITAN_THIRD_PARTY_MBEDTLS_PLATFORM_H_
 #define COSMOPOLITAN_THIRD_PARTY_MBEDTLS_PLATFORM_H_
 #include "libc/assert.h"
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/calls/weirdtypes.h"
 #include "libc/fmt/fmt.h"
 #include "libc/mem/mem.h"
diff --git a/third_party/mbedtls/poly1305.c b/third_party/mbedtls/poly1305.c
index 565e022b0..06ac0b8f0 100644
--- a/third_party/mbedtls/poly1305.c
+++ b/third_party/mbedtls/poly1305.c
@@ -15,7 +15,7 @@
 │ See the License for the specific language governing permissions and          │
 │ limitations under the License.                                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/str/str.h"
 #include "third_party/mbedtls/common.h"
 #include "third_party/mbedtls/error.h"
diff --git a/third_party/mbedtls/profile.h b/third_party/mbedtls/profile.h
index 75899a34a..9d492d690 100644
--- a/third_party/mbedtls/profile.h
+++ b/third_party/mbedtls/profile.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_THIRD_PARTY_MBEDTLS_PROFILE_H_
 #define COSMOPOLITAN_THIRD_PARTY_MBEDTLS_PROFILE_H_
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/log/log.h"
 #include "libc/nexgen32e/bench.h"
 #include "libc/nexgen32e/rdtsc.h"
diff --git a/third_party/mbedtls/san.c b/third_party/mbedtls/san.c
index 534899705..11b8dc0e9 100644
--- a/third_party/mbedtls/san.c
+++ b/third_party/mbedtls/san.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/sock/sock.h"
 #include "libc/sysv/consts/af.h"
 #include "third_party/mbedtls/asn1.h"
diff --git a/third_party/mbedtls/sha1.c b/third_party/mbedtls/sha1.c
index 94a416a6e..7efe84d7c 100644
--- a/third_party/mbedtls/sha1.c
+++ b/third_party/mbedtls/sha1.c
@@ -15,7 +15,7 @@
 │ See the License for the specific language governing permissions and          │
 │ limitations under the License.                                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/intrin/asan.internal.h"
 #include "libc/macros.internal.h"
 #include "libc/nexgen32e/sha.h"
diff --git a/third_party/mbedtls/test/everest_unravaged.c b/third_party/mbedtls/test/everest_unravaged.c
index 665eca830..c26a029c3 100644
--- a/third_party/mbedtls/test/everest_unravaged.c
+++ b/third_party/mbedtls/test/everest_unravaged.c
@@ -1,4 +1,4 @@
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/limits.h"
 #include "third_party/mbedtls/asn1.h"
 #include "third_party/mbedtls/bignum.h"
diff --git a/third_party/mbedtls/test/lib.c b/third_party/mbedtls/test/lib.c
index aa05669d6..ba39d5f1b 100644
--- a/third_party/mbedtls/test/lib.c
+++ b/third_party/mbedtls/test/lib.c
@@ -15,8 +15,8 @@
  *  limitations under the License.
  */
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/dce.h"
 #include "libc/fmt/conv.h"
diff --git a/third_party/mbedtls/test/test_suite_ssl.c b/third_party/mbedtls/test/test_suite_ssl.c
index eb6529aaa..093cc3d8b 100644
--- a/third_party/mbedtls/test/test_suite_ssl.c
+++ b/third_party/mbedtls/test/test_suite_ssl.c
@@ -20,7 +20,7 @@
 #include "libc/testlib/testlib.h"
 #include "libc/log/log.h"
 #include "libc/rand/rand.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "third_party/mbedtls/test/test.inc"
 /*
  * *** THIS FILE WAS MACHINE GENERATED ***
diff --git a/third_party/mbedtls/x509_crt.c b/third_party/mbedtls/x509_crt.c
index 5805eadde..01a3f0027 100644
--- a/third_party/mbedtls/x509_crt.c
+++ b/third_party/mbedtls/x509_crt.c
@@ -15,7 +15,7 @@
 │ See the License for the specific language governing permissions and          │
 │ limitations under the License.                                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/dirent.h"
 #include "libc/calls/struct/stat.h"
diff --git a/third_party/python/Include/ceval.h b/third_party/python/Include/ceval.h
index 6b31bc5a0..cf6d14c14 100644
--- a/third_party/python/Include/ceval.h
+++ b/third_party/python/Include/ceval.h
@@ -1,6 +1,6 @@
 #ifndef Py_CEVAL_H
 #define Py_CEVAL_H
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/dce.h"
 #include "libc/runtime/stack.h"
 #include "third_party/python/Include/object.h"
diff --git a/third_party/python/Modules/_randommodule.c b/third_party/python/Modules/_randommodule.c
index f18fcf6a3..e543efd90 100644
--- a/third_party/python/Modules/_randommodule.c
+++ b/third_party/python/Modules/_randommodule.c
@@ -4,7 +4,7 @@
 │ Python 3                                                                     │
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/nexgen32e/x86feature.h"
 #include "libc/rand/rand.h"
diff --git a/third_party/python/Modules/posixmodule.c b/third_party/python/Modules/posixmodule.c
index 1f88d3916..b54e3124b 100644
--- a/third_party/python/Modules/posixmodule.c
+++ b/third_party/python/Modules/posixmodule.c
@@ -7,7 +7,7 @@
 #define PY_SSIZE_T_CLEAN
 #include "libc/alg/alg.h"
 #include "libc/assert.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/makedev.h"
diff --git a/third_party/python/Modules/unicodedata.c b/third_party/python/Modules/unicodedata.c
index 97c5290bb..156137906 100644
--- a/third_party/python/Modules/unicodedata.c
+++ b/third_party/python/Modules/unicodedata.c
@@ -5,7 +5,7 @@
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #define PY_SSIZE_T_CLEAN
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/fmt/fmt.h"
 #include "libc/nexgen32e/kompressor.h"
 #include "third_party/python/Include/floatobject.h"
diff --git a/third_party/python/Modules/unicodedata_getcode.c b/third_party/python/Modules/unicodedata_getcode.c
index de300fcaf..52d027bce 100644
--- a/third_party/python/Modules/unicodedata_getcode.c
+++ b/third_party/python/Modules/unicodedata_getcode.c
@@ -4,7 +4,7 @@
 │ Python 3                                                                     │
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/fmt/fmt.h"
 #include "third_party/python/Include/pyctype.h"
 #include "third_party/python/Include/pyerrors.h"
diff --git a/third_party/python/Modules/unicodedata_getdecomprecord.c b/third_party/python/Modules/unicodedata_getdecomprecord.c
index 01c9113d5..de741665a 100644
--- a/third_party/python/Modules/unicodedata_getdecomprecord.c
+++ b/third_party/python/Modules/unicodedata_getdecomprecord.c
@@ -4,7 +4,7 @@
 │ Python 3                                                                     │
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "third_party/python/Modules/unicodedata.h"
 #include "third_party/python/Modules/unicodedata_unidata.h"
 /* clang-format off */
diff --git a/third_party/python/Modules/unicodedata_nfcnfkc.c b/third_party/python/Modules/unicodedata_nfcnfkc.c
index 4ebaa8219..1de589140 100644
--- a/third_party/python/Modules/unicodedata_nfcnfkc.c
+++ b/third_party/python/Modules/unicodedata_nfcnfkc.c
@@ -4,8 +4,8 @@
 │ Python 3                                                                     │
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/likely.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/likely.h"
 #include "third_party/python/Include/pyerrors.h"
 #include "third_party/python/Include/pymem.h"
 #include "third_party/python/Modules/unicodedata.h"
diff --git a/third_party/python/Modules/unicodedata_nfdnfkd.c b/third_party/python/Modules/unicodedata_nfdnfkd.c
index 45b4fed36..81fe4f822 100644
--- a/third_party/python/Modules/unicodedata_nfdnfkd.c
+++ b/third_party/python/Modules/unicodedata_nfdnfkd.c
@@ -4,7 +4,7 @@
 │ Python 3                                                                     │
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "third_party/python/Include/pyerrors.h"
 #include "third_party/python/Include/pymem.h"
 #include "third_party/python/Modules/unicodedata.h"
diff --git a/third_party/python/Modules/zipimport.c b/third_party/python/Modules/zipimport.c
index dfcf8d8f4..ca53ee54c 100644
--- a/third_party/python/Modules/zipimport.c
+++ b/third_party/python/Modules/zipimport.c
@@ -4,7 +4,7 @@
 │ Python 3                                                                     │
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/weirdtypes.h"
 #include "libc/sysv/consts/s.h"
diff --git a/third_party/python/Objects/dictobject.c b/third_party/python/Objects/dictobject.c
index cae1ff315..45c25343b 100644
--- a/third_party/python/Objects/dictobject.c
+++ b/third_party/python/Objects/dictobject.c
@@ -4,7 +4,7 @@
 │ Python 3                                                                     │
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/calls/calls.h"
 #include "libc/log/countbranch.h"
 #include "libc/runtime/runtime.h"
diff --git a/third_party/python/Objects/frameobject.c b/third_party/python/Objects/frameobject.c
index 0d08ace6c..452421568 100644
--- a/third_party/python/Objects/frameobject.c
+++ b/third_party/python/Objects/frameobject.c
@@ -4,7 +4,7 @@
 │ Python 3                                                                     │
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "third_party/python/Include/abstract.h"
 #include "third_party/python/Include/cellobject.h"
 #include "third_party/python/Include/code.h"
diff --git a/third_party/python/Objects/longobject.c b/third_party/python/Objects/longobject.c
index 543465d3f..e84469210 100644
--- a/third_party/python/Objects/longobject.c
+++ b/third_party/python/Objects/longobject.c
@@ -5,7 +5,7 @@
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/popcnt.h"
+#include "libc/intrin/popcnt.h"
 #include "libc/fmt/conv.h"
 #include "libc/limits.h"
 #include "libc/log/check.h"
diff --git a/third_party/python/Objects/object.c b/third_party/python/Objects/object.c
index 53365f731..844aead36 100644
--- a/third_party/python/Objects/object.c
+++ b/third_party/python/Objects/object.c
@@ -4,7 +4,7 @@
 │ Python 3                                                                     │
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/log/countbranch.h"
 #include "third_party/python/Include/abstract.h"
 #include "third_party/python/Include/boolobject.h"
diff --git a/third_party/python/Objects/obmalloc.c b/third_party/python/Objects/obmalloc.c
index 1bc8d17dd..bd45b7785 100644
--- a/third_party/python/Objects/obmalloc.c
+++ b/third_party/python/Objects/obmalloc.c
@@ -5,7 +5,7 @@
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/dce.h"
 #include "libc/fmt/fmt.h"
diff --git a/third_party/python/Objects/typeobject.c b/third_party/python/Objects/typeobject.c
index c23c1ea1f..7b3603f41 100644
--- a/third_party/python/Objects/typeobject.c
+++ b/third_party/python/Objects/typeobject.c
@@ -5,7 +5,7 @@
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/fmt/fmt.h"
 #include "libc/log/countbranch.h"
 #include "third_party/python/Include/abstract.h"
diff --git a/third_party/python/Objects/unicodeobject.c b/third_party/python/Objects/unicodeobject.c
index 260b398c1..99b53d570 100644
--- a/third_party/python/Objects/unicodeobject.c
+++ b/third_party/python/Objects/unicodeobject.c
@@ -6,8 +6,8 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #define PY_SSIZE_T_CLEAN
 #include "libc/assert.h"
-#include "libc/bits/likely.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/likely.h"
+#include "libc/intrin/weaken.h"
 #include "libc/errno.h"
 #include "libc/fmt/fmt.h"
 #include "libc/log/countbranch.h"
diff --git a/third_party/python/Python/ceval.c b/third_party/python/Python/ceval.c
index 9fe51442c..4458fe5bb 100644
--- a/third_party/python/Python/ceval.c
+++ b/third_party/python/Python/ceval.c
@@ -5,7 +5,7 @@
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #define PY_LOCAL_AGGRESSIVE
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "third_party/python/Include/abstract.h"
 #include "third_party/python/Include/boolobject.h"
 #include "third_party/python/Include/bytesobject.h"
diff --git a/third_party/python/Python/codecs.c b/third_party/python/Python/codecs.c
index d410b299e..2766ce93f 100644
--- a/third_party/python/Python/codecs.c
+++ b/third_party/python/Python/codecs.c
@@ -4,7 +4,7 @@
 │ Python 3                                                                     │
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/stdio/stdio.h"
 #include "third_party/python/Include/abstract.h"
 #include "third_party/python/Include/bytesobject.h"
diff --git a/third_party/python/Python/cosmomodule.c b/third_party/python/Python/cosmomodule.c
index e72819505..dc3caae29 100644
--- a/third_party/python/Python/cosmomodule.c
+++ b/third_party/python/Python/cosmomodule.c
@@ -18,7 +18,7 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #define PY_SSIZE_T_CLEAN
 #include "dsp/scale/cdecimate2xuint8x8.h"
-#include "libc/bits/popcnt.h"
+#include "libc/intrin/popcnt.h"
 #include "libc/calls/calls.h"
 #include "libc/dce.h"
 #include "libc/errno.h"
diff --git a/third_party/python/Python/fatality.c b/third_party/python/Python/fatality.c
index 51100e271..db61ba09c 100644
--- a/third_party/python/Python/fatality.c
+++ b/third_party/python/Python/fatality.c
@@ -4,7 +4,7 @@
 │ Python 3                                                                     │
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/log/log.h"
 #include "libc/stdio/stdio.h"
 #include "third_party/python/Include/abstract.h"
diff --git a/third_party/python/Python/getcopyright.c b/third_party/python/Python/getcopyright.c
index 360273ce5..854fe3b8b 100644
--- a/third_party/python/Python/getcopyright.c
+++ b/third_party/python/Python/getcopyright.c
@@ -4,7 +4,7 @@
 │ Python 3                                                                     │
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/intrin/cmpxchg.h"
 #include "libc/stdio/append.internal.h"
 #include "libc/str/str.h"
diff --git a/third_party/python/Python/import.c b/third_party/python/Python/import.c
index ce10ef249..262b98798 100644
--- a/third_party/python/Python/import.c
+++ b/third_party/python/Python/import.c
@@ -5,7 +5,7 @@
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/alg.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/calls/struct/stat.macros.h"
diff --git a/third_party/python/Python/pystate.c b/third_party/python/Python/pystate.c
index 57ba86bce..2426d5706 100644
--- a/third_party/python/Python/pystate.c
+++ b/third_party/python/Python/pystate.c
@@ -4,7 +4,7 @@
 │ Python 3                                                                     │
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/pushpop.h"
+#include "libc/intrin/pushpop.h"
 #include "libc/runtime/dlfcn.h"
 #include "third_party/python/Include/ceval.h"
 #include "third_party/python/Include/dictobject.h"
diff --git a/third_party/python/pycomp.c b/third_party/python/pycomp.c
index c6ee9677c..8ce97e3cf 100644
--- a/third_party/python/pycomp.c
+++ b/third_party/python/pycomp.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/iovec.h"
 #include "libc/calls/struct/stat.h"
diff --git a/third_party/python/pyobj.c b/third_party/python/pyobj.c
index 2ae36011e..d17783441 100644
--- a/third_party/python/pyobj.c
+++ b/third_party/python/pyobj.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/iovec.h"
 #include "libc/calls/struct/stat.h"
diff --git a/third_party/python/python.mk b/third_party/python/python.mk
index bccae6c86..6e2e97b4f 100644
--- a/third_party/python/python.mk
+++ b/third_party/python/python.mk
@@ -442,7 +442,6 @@ THIRD_PARTY_PYTHON_STAGE1_A_SRCS =					\
 THIRD_PARTY_PYTHON_STAGE1_A_DIRECTDEPS =				\
 	DSP_SCALE							\
 	LIBC_ALG							\
-	LIBC_BITS							\
 	LIBC_CALLS							\
 	LIBC_FMT							\
 	LIBC_INTRIN							\
@@ -1123,7 +1122,6 @@ THIRD_PARTY_PYTHON_STAGE2_A_DATA =						\
 THIRD_PARTY_PYTHON_STAGE2_A_DIRECTDEPS =				\
 	DSP_CORE							\
 	LIBC_ALG							\
-	LIBC_BITS							\
 	LIBC_CALLS							\
 	LIBC_DNS							\
 	LIBC_FMT							\
@@ -4358,7 +4356,7 @@ o/$(MODE)/third_party/python/freeze.com.dbg:				\
 o/$(MODE)/third_party/python/chibicc.inc:				\
 		third_party/python/chibicc.inc				\
 		libc/assert.h						\
-		libc/bits/likely.h					\
+		libc/intrin/likely.h					\
 		libc/calls/struct/stat.h				\
 		libc/calls/struct/timespec.h				\
 		libc/dce.h						\
diff --git a/third_party/python/runpythonmodule.c b/third_party/python/runpythonmodule.c
index 22c139eb7..b5862f428 100644
--- a/third_party/python/runpythonmodule.c
+++ b/third_party/python/runpythonmodule.c
@@ -5,9 +5,9 @@
 │ https://docs.python.org/3/license.html                                       │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #define PY_SSIZE_T_CLEAN
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
-#include "libc/bits/weaken.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
+#include "libc/intrin/weaken.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/struct/siginfo.h"
diff --git a/third_party/quickjs/cutils.h b/third_party/quickjs/cutils.h
index c2fd6010f..a27b52c02 100644
--- a/third_party/quickjs/cutils.h
+++ b/third_party/quickjs/cutils.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_THIRD_PARTY_QUICKJS_CUTILS_H_
 #define COSMOPOLITAN_THIRD_PARTY_QUICKJS_CUTILS_H_
-#include "libc/bits/bswap.h"
+#include "libc/intrin/bswap.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
 COSMOPOLITAN_C_START_
 /* clang-format off */
diff --git a/third_party/quickjs/leb128.c b/third_party/quickjs/leb128.c
index 13020e057..2528a2827 100644
--- a/third_party/quickjs/leb128.c
+++ b/third_party/quickjs/leb128.c
@@ -22,7 +22,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "third_party/quickjs/leb128.h"
 
 asm(".ident\t\"\\n\\n\
diff --git a/third_party/quickjs/libbf.c b/third_party/quickjs/libbf.c
index 24668f82e..5abb3b147 100644
--- a/third_party/quickjs/libbf.c
+++ b/third_party/quickjs/libbf.c
@@ -22,8 +22,8 @@
  * THE SOFTWARE.
  */
 #include "libc/assert.h"
-#include "libc/bits/avxintrin.internal.h"
-#include "libc/bits/likely.h"
+#include "libc/intrin/avxintrin.internal.h"
+#include "libc/intrin/likely.h"
 #include "libc/inttypes.h"
 #include "libc/runtime/runtime.h"
 #include "libc/stdio/stdio.h"
diff --git a/third_party/quickjs/libregexp.c b/third_party/quickjs/libregexp.c
index 89b9374de..b390548e1 100644
--- a/third_party/quickjs/libregexp.c
+++ b/third_party/quickjs/libregexp.c
@@ -22,7 +22,7 @@
  * THE SOFTWARE.
  */
 #include "libc/assert.h"
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/fmt/fmt.h"
 #include "libc/limits.h"
 #include "libc/mem/alloca.h"
diff --git a/third_party/quickjs/quickjs.h b/third_party/quickjs/quickjs.h
index 9a4be142b..5af4890de 100644
--- a/third_party/quickjs/quickjs.h
+++ b/third_party/quickjs/quickjs.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_THIRD_PARTY_QUICKJS_QUICKJS_H_
 #define COSMOPOLITAN_THIRD_PARTY_QUICKJS_QUICKJS_H_
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/math.h"
 #include "libc/stdio/stdio.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
diff --git a/third_party/regex/regerror.c b/third_party/regex/regerror.c
index 152fb630d..0e2f2ca60 100644
--- a/third_party/regex/regerror.c
+++ b/third_party/regex/regerror.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/fmt/fmt.h"
 #include "libc/str/str.h"
 #include "third_party/regex/regex.h"
diff --git a/third_party/smallz4/smallz4.hh b/third_party/smallz4/smallz4.hh
index abf9b5683..5adda1dc5 100644
--- a/third_party/smallz4/smallz4.hh
+++ b/third_party/smallz4/smallz4.hh
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_THIRD_PARTY_SMALLZ4_SMALLZ4_H_
 #define COSMOPOLITAN_THIRD_PARTY_SMALLZ4_SMALLZ4_H_
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "third_party/libcxx/vector"
 
 /**
diff --git a/third_party/sqlite3/sqlite3.mk b/third_party/sqlite3/sqlite3.mk
index eb110bf3d..542b3dfbe 100644
--- a/third_party/sqlite3/sqlite3.mk
+++ b/third_party/sqlite3/sqlite3.mk
@@ -44,7 +44,6 @@ THIRD_PARTY_SQLITE3_A_CHECKS =						\
 
 THIRD_PARTY_SQLITE3_A_DIRECTDEPS =					\
 	LIBC_ALG							\
-	LIBC_BITS							\
 	LIBC_CALLS							\
 	LIBC_FMT							\
 	LIBC_INTRIN							\
diff --git a/third_party/stb/stb.mk b/third_party/stb/stb.mk
index 775b881b2..a56dc38ba 100644
--- a/third_party/stb/stb.mk
+++ b/third_party/stb/stb.mk
@@ -27,7 +27,6 @@ THIRD_PARTY_STB_A_OBJS =				\
 THIRD_PARTY_STB_A_DIRECTDEPS =				\
 	DSP_CORE					\
 	LIBC_ALG					\
-	LIBC_BITS					\
 	LIBC_FMT					\
 	LIBC_INTRIN					\
 	LIBC_LOG					\
diff --git a/third_party/stb/stb_image.c b/third_party/stb/stb_image.c
index 31fb1bac7..8c284e5cf 100644
--- a/third_party/stb/stb_image.c
+++ b/third_party/stb/stb_image.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/fmt/conv.h"
 #include "libc/limits.h"
diff --git a/third_party/stb/stb_truetype.c b/third_party/stb/stb_truetype.c
index 3ab18baa9..5f392e318 100644
--- a/third_party/stb/stb_truetype.c
+++ b/third_party/stb/stb_truetype.c
@@ -26,8 +26,8 @@
 │                                                                              │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/likely.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/likely.h"
 #include "libc/macros.internal.h"
 #include "libc/math.h"
 #include "libc/mem/mem.h"
diff --git a/third_party/stb/stb_vorbis.c b/third_party/stb/stb_vorbis.c
index 75c964d7c..4149aabe0 100644
--- a/third_party/stb/stb_vorbis.c
+++ b/third_party/stb/stb_vorbis.c
@@ -34,7 +34,7 @@
 //
 #include "libc/alg/alg.h"
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/fmt/conv.h"
 #include "libc/limits.h"
diff --git a/third_party/xed/x86ild.greg.c b/third_party/xed/x86ild.greg.c
index af7feefa7..db9589136 100644
--- a/third_party/xed/x86ild.greg.c
+++ b/third_party/xed/x86ild.greg.c
@@ -17,7 +17,7 @@
 │ limitations under the License.                                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dce.h"
 #include "libc/macros.internal.h"
 #include "libc/nexgen32e/bsr.h"
diff --git a/third_party/zlib/adler32simd.c b/third_party/zlib/adler32simd.c
index 91ff6e670..999a8fdde 100644
--- a/third_party/zlib/adler32simd.c
+++ b/third_party/zlib/adler32simd.c
@@ -5,8 +5,8 @@
 │ Use of this source code is governed by the BSD-style licenses that can       │
 │ be found in the third_party/zlib/LICENSE file.                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/emmintrin.internal.h"
-#include "libc/bits/tmmintrin.internal.h"
+#include "libc/intrin/emmintrin.internal.h"
+#include "libc/intrin/tmmintrin.internal.h"
 #include "third_party/zlib/internal.h"
 
 asm(".ident\t\"\\n\\n\
diff --git a/third_party/zlib/chunkcopy.internal.h b/third_party/zlib/chunkcopy.internal.h
index f8532d3c4..db0d53e61 100644
--- a/third_party/zlib/chunkcopy.internal.h
+++ b/third_party/zlib/chunkcopy.internal.h
@@ -1,6 +1,6 @@
 #ifndef THIRD_PARTY_ZLIB_CHUNKCOPY_H
 #define THIRD_PARTY_ZLIB_CHUNKCOPY_H
-#include "libc/bits/emmintrin.internal.h"
+#include "libc/intrin/emmintrin.internal.h"
 #include "third_party/zlib/zutil.internal.h"
 
 asm(".ident\t\"\\n\\n\
diff --git a/third_party/zlib/crc32.c b/third_party/zlib/crc32.c
index 42e2b67bf..30970c160 100644
--- a/third_party/zlib/crc32.c
+++ b/third_party/zlib/crc32.c
@@ -5,7 +5,7 @@
 │ Use of this source code is governed by the BSD-style licenses that can       │
 │ be found in the third_party/zlib/LICENSE file.                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/dce.h"
 #include "libc/nexgen32e/x86feature.h"
 #include "libc/str/str.h"
diff --git a/third_party/zlib/crcfold.c b/third_party/zlib/crcfold.c
index 6dde29627..fcc456758 100644
--- a/third_party/zlib/crcfold.c
+++ b/third_party/zlib/crcfold.c
@@ -5,10 +5,10 @@
 │ Use of this source code is governed by the BSD-style licenses that can       │
 │ be found in the third_party/zlib/LICENSE file.                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/emmintrin.internal.h"
-#include "libc/bits/smmintrin.internal.h"
-#include "libc/bits/tmmintrin.internal.h"
-#include "libc/bits/wmmintrin.internal.h"
+#include "libc/intrin/emmintrin.internal.h"
+#include "libc/intrin/smmintrin.internal.h"
+#include "libc/intrin/tmmintrin.internal.h"
+#include "libc/intrin/wmmintrin.internal.h"
 #include "libc/runtime/runtime.h"
 #include "libc/str/str.h"
 #include "third_party/zlib/deflate.internal.h"
diff --git a/third_party/zlib/deflate.c b/third_party/zlib/deflate.c
index 50bbc1186..03861d2e5 100644
--- a/third_party/zlib/deflate.c
+++ b/third_party/zlib/deflate.c
@@ -5,7 +5,7 @@
 │ Use of this source code is governed by the BSD-style licenses that can       │
 │ be found in the third_party/zlib/LICENSE file.                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/dce.h"
 #include "libc/macros.internal.h"
 #include "libc/mem/mem.h"
diff --git a/third_party/zlib/deflatesse.c b/third_party/zlib/deflatesse.c
index 631142c6e..816802157 100644
--- a/third_party/zlib/deflatesse.c
+++ b/third_party/zlib/deflatesse.c
@@ -5,7 +5,7 @@
 │ Use of this source code is governed by the BSD-style licenses that can       │
 │ be found in the third_party/zlib/LICENSE file.                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/emmintrin.internal.h"
+#include "libc/intrin/emmintrin.internal.h"
 #include "libc/str/str.h"
 #include "third_party/zlib/deflate.internal.h"
 #include "third_party/zlib/internal.h"
diff --git a/third_party/zlib/inffastchunk.c b/third_party/zlib/inffastchunk.c
index 737a0f6c7..89a79bd34 100644
--- a/third_party/zlib/inffastchunk.c
+++ b/third_party/zlib/inffastchunk.c
@@ -5,7 +5,7 @@
 │ Use of this source code is governed by the BSD-style licenses that can       │
 │ be found in the third_party/zlib/LICENSE file.                               │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "third_party/zlib/chunkcopy.internal.h"
 #include "third_party/zlib/inffast.internal.h"
 #include "third_party/zlib/inflate.internal.h"
diff --git a/third_party/zlib/zalloc.c b/third_party/zlib/zalloc.c
index 6007da99b..d10c0891d 100644
--- a/third_party/zlib/zalloc.c
+++ b/third_party/zlib/zalloc.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/weaken.h"
+#include "libc/intrin/weaken.h"
 #include "libc/mem/mem.h"
 #include "third_party/zlib/zutil.internal.h"
 
diff --git a/tool/build/ar.c b/tool/build/ar.c
index b691e22bd..ef444e20c 100644
--- a/tool/build/ar.c
+++ b/tool/build/ar.c
@@ -18,8 +18,8 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/arraylist2.internal.h"
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/iovec.h"
 #include "libc/calls/struct/stat.h"
diff --git a/tool/build/assimilate.c b/tool/build/assimilate.c
index 87209d262..8515d8728 100644
--- a/tool/build/assimilate.c
+++ b/tool/build/assimilate.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/dce.h"
diff --git a/tool/build/blinkenlights.c b/tool/build/blinkenlights.c
index 6bdc99e08..8826bb40b 100644
--- a/tool/build/blinkenlights.c
+++ b/tool/build/blinkenlights.c
@@ -20,8 +20,8 @@
 #include "dsp/tty/tty.h"
 #include "libc/alg/arraylist2.internal.h"
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/ioctl.h"
 #include "libc/calls/struct/iovec.h"
diff --git a/tool/build/build.mk b/tool/build/build.mk
index ec030a328..c15f79586 100644
--- a/tool/build/build.mk
+++ b/tool/build/build.mk
@@ -38,7 +38,6 @@ TOOL_BUILD_DIRECTDEPS =					\
 	DSP_SCALE					\
 	DSP_TTY						\
 	LIBC_ALG					\
-	LIBC_BITS					\
 	LIBC_CALLS					\
 	LIBC_DNS					\
 	LIBC_ELF					\
diff --git a/tool/build/calculator.c b/tool/build/calculator.c
index e61d80aeb..aabc49ce3 100644
--- a/tool/build/calculator.c
+++ b/tool/build/calculator.c
@@ -10,9 +10,9 @@
 #include "dsp/tty/tty.h"
 #include "libc/alg/arraylist2.internal.h"
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/morton.h"
-#include "libc/bits/popcnt.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/morton.h"
+#include "libc/intrin/popcnt.h"
 #include "libc/calls/calls.h"
 #include "libc/errno.h"
 #include "libc/fmt/conv.h"
diff --git a/tool/build/compile.c b/tool/build/compile.c
index fac44778f..79939fb79 100644
--- a/tool/build/compile.c
+++ b/tool/build/compile.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/alg.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/copyfile.h"
 #include "libc/calls/ioctl.h"
diff --git a/tool/build/dd.c b/tool/build/dd.c
index da1f0a608..61dc2556a 100644
--- a/tool/build/dd.c
+++ b/tool/build/dd.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/errno.h"
 #include "libc/fmt/conv.h"
diff --git a/tool/build/emubin/metalsha256.c b/tool/build/emubin/metalsha256.c
index 39a49c1ee..e27dc861f 100644
--- a/tool/build/emubin/metalsha256.c
+++ b/tool/build/emubin/metalsha256.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/xmmintrin.internal.h"
+#include "libc/intrin/xmmintrin.internal.h"
 #include "libc/intrin/repstosb.h"
 #include "tool/build/emubin/metalsha256.h"
 
diff --git a/tool/build/fixupobj.c b/tool/build/fixupobj.c
index 7f05df626..1d1ed235f 100644
--- a/tool/build/fixupobj.c
+++ b/tool/build/fixupobj.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/dce.h"
diff --git a/tool/build/helpop.c b/tool/build/helpop.c
index d5c0ec44b..f956d02c5 100644
--- a/tool/build/helpop.c
+++ b/tool/build/helpop.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/fmt/conv.h"
 #include "libc/macros.internal.h"
 #include "libc/runtime/runtime.h"
diff --git a/tool/build/lib/buildlib.mk b/tool/build/lib/buildlib.mk
index e667b43b7..496292617 100644
--- a/tool/build/lib/buildlib.mk
+++ b/tool/build/lib/buildlib.mk
@@ -33,7 +33,6 @@ TOOL_BUILD_LIB_A_OBJS =					\
 
 TOOL_BUILD_LIB_A_DIRECTDEPS =				\
 	LIBC_ALG					\
-	LIBC_BITS					\
 	LIBC_CALLS					\
 	LIBC_ELF					\
 	LIBC_FMT					\
diff --git a/tool/build/lib/demangle.c b/tool/build/lib/demangle.c
index 257178598..f0a7b4a67 100644
--- a/tool/build/lib/demangle.c
+++ b/tool/build/lib/demangle.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/iovec.h"
 #include "libc/macros.internal.h"
diff --git a/tool/build/lib/dis.c b/tool/build/lib/dis.c
index 71510836b..6e58a8a12 100644
--- a/tool/build/lib/dis.c
+++ b/tool/build/lib/dis.c
@@ -18,7 +18,7 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/alg.h"
 #include "libc/alg/arraylist2.internal.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/fmt/bing.internal.h"
 #include "libc/fmt/fmt.h"
 #include "libc/fmt/itoa.h"
diff --git a/tool/build/lib/disarg.c b/tool/build/lib/disarg.c
index 6c56d5e43..a06b60196 100644
--- a/tool/build/lib/disarg.c
+++ b/tool/build/lib/disarg.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/fmt/itoa.h"
 #include "libc/limits.h"
 #include "libc/log/check.h"
diff --git a/tool/build/lib/elfwriter_zip.c b/tool/build/lib/elfwriter_zip.c
index 9edf233de..93c5ccce6 100644
--- a/tool/build/lib/elfwriter_zip.c
+++ b/tool/build/lib/elfwriter_zip.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/timespec.h"
 #include "libc/dos.h"
diff --git a/tool/build/lib/interner.c b/tool/build/lib/interner.c
index b468c5a68..91d92b6b8 100644
--- a/tool/build/lib/interner.c
+++ b/tool/build/lib/interner.c
@@ -18,7 +18,7 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/arraylist.internal.h"
 #include "libc/alg/arraylist2.internal.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/mem/mem.h"
 #include "libc/nexgen32e/crc32.h"
 #include "libc/runtime/runtime.h"
diff --git a/tool/build/lib/isnocompressext.c b/tool/build/lib/isnocompressext.c
index 7311d5daf..d6dcf3151 100644
--- a/tool/build/lib/isnocompressext.c
+++ b/tool/build/lib/isnocompressext.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/bswap.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/bswap.h"
 #include "libc/macros.internal.h"
 #include "libc/str/str.h"
 #include "tool/build/lib/isnocompressext.h"
diff --git a/tool/build/lib/loader.c b/tool/build/lib/loader.c
index 5c164e44b..abf0b6d20 100644
--- a/tool/build/lib/loader.c
+++ b/tool/build/lib/loader.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/popcnt.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/popcnt.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/elf/elf.h"
diff --git a/tool/build/lib/panel.c b/tool/build/lib/panel.c
index 1baf63f26..005899482 100644
--- a/tool/build/lib/panel.c
+++ b/tool/build/lib/panel.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/fmt/conv.h"
 #include "libc/mem/mem.h"
 #include "libc/str/str.h"
diff --git a/tool/build/lib/pty.c b/tool/build/lib/pty.c
index da27b8099..3a421077c 100644
--- a/tool/build/lib/pty.c
+++ b/tool/build/lib/pty.c
@@ -18,8 +18,8 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/arraylist2.internal.h"
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/fmt/conv.h"
 #include "libc/fmt/itoa.h"
 #include "libc/log/check.h"
diff --git a/tool/build/mkdeps.c b/tool/build/mkdeps.c
index 4fb17184e..ba889d918 100644
--- a/tool/build/mkdeps.c
+++ b/tool/build/mkdeps.c
@@ -21,8 +21,8 @@
 #include "libc/alg/arraylist2.internal.h"
 #include "libc/alg/bisectcarleft.internal.h"
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/calls/sysparam.h"
diff --git a/tool/build/package.c b/tool/build/package.c
index c31c3e4f9..84545345f 100644
--- a/tool/build/package.c
+++ b/tool/build/package.c
@@ -18,8 +18,8 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/alg.h"
 #include "libc/alg/arraylist.internal.h"
-#include "libc/bits/bswap.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bswap.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/elf/elf.h"
diff --git a/tool/build/pledge.c b/tool/build/pledge.c
index 9fece19dc..84947b8dc 100644
--- a/tool/build/pledge.c
+++ b/tool/build/pledge.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/landlock.h"
 #include "libc/calls/pledge.h"
diff --git a/tool/build/pstrace.c b/tool/build/pstrace.c
index c7efc8edd..78bb2c572 100644
--- a/tool/build/pstrace.c
+++ b/tool/build/pstrace.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/sigaction.h"
 #include "libc/calls/struct/sigset.h"
diff --git a/tool/build/refactor.c b/tool/build/refactor.c
index 9cab31e3e..ba6ca7b24 100644
--- a/tool/build/refactor.c
+++ b/tool/build/refactor.c
@@ -18,7 +18,7 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/alg.h"
 #include "libc/assert.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/dirent.h"
 #include "libc/calls/struct/stat.h"
diff --git a/tool/build/runit.c b/tool/build/runit.c
index afa0a8174..4bf076c39 100644
--- a/tool/build/runit.c
+++ b/tool/build/runit.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/dns/dns.h"
diff --git a/tool/build/runitd.c b/tool/build/runitd.c
index 4dd34494d..efeca08db 100644
--- a/tool/build/runitd.c
+++ b/tool/build/runitd.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/calls/struct/timeval.h"
diff --git a/tool/build/strace.c b/tool/build/strace.c
index bbafc8696..52c285524 100644
--- a/tool/build/strace.c
+++ b/tool/build/strace.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/iovec.h"
 #include "libc/calls/struct/sigaction.h"
diff --git a/tool/decode/ar.c b/tool/decode/ar.c
index 1066ef70a..ed19bb81a 100644
--- a/tool/decode/ar.c
+++ b/tool/decode/ar.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/fmt/conv.h"
diff --git a/tool/decode/elf.c b/tool/decode/elf.c
index 0c29166c9..7a1a032c9 100644
--- a/tool/decode/elf.c
+++ b/tool/decode/elf.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/elf/def.h"
diff --git a/tool/decode/lib/asmcodegen.c b/tool/decode/lib/asmcodegen.c
index c5a6b03e2..8ce7634e1 100644
--- a/tool/decode/lib/asmcodegen.c
+++ b/tool/decode/lib/asmcodegen.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/fmt/fmt.h"
 #include "libc/intrin/kprintf.h"
 #include "libc/mem/mem.h"
diff --git a/tool/decode/lib/bitabuilder.c b/tool/decode/lib/bitabuilder.c
index 1174607c1..9652b36b6 100644
--- a/tool/decode/lib/bitabuilder.c
+++ b/tool/decode/lib/bitabuilder.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/log/check.h"
 #include "libc/macros.internal.h"
 #include "libc/mem/mem.h"
diff --git a/tool/decode/macho.c b/tool/decode/macho.c
index a587a374d..5283e35d6 100644
--- a/tool/decode/macho.c
+++ b/tool/decode/macho.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/fmt/conv.h"
diff --git a/tool/decode/mkcombos.c b/tool/decode/mkcombos.c
index 6dacc1e02..21c393d7b 100644
--- a/tool/decode/mkcombos.c
+++ b/tool/decode/mkcombos.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/fmt/conv.h"
 #include "libc/log/check.h"
diff --git a/tool/decode/mkwides.c b/tool/decode/mkwides.c
index 062bbe3b8..3f4c712c3 100644
--- a/tool/decode/mkwides.c
+++ b/tool/decode/mkwides.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/fmt/fmt.h"
 #include "libc/log/check.h"
 #include "libc/mem/mem.h"
diff --git a/tool/decode/pe2.c b/tool/decode/pe2.c
index 03aec1c28..d59e29216 100644
--- a/tool/decode/pe2.c
+++ b/tool/decode/pe2.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/fmt/conv.h"
diff --git a/tool/decode/x86opinfo.c b/tool/decode/x86opinfo.c
index b88017720..6d9c0a681 100644
--- a/tool/decode/x86opinfo.c
+++ b/tool/decode/x86opinfo.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/macros.internal.h"
 #include "libc/runtime/runtime.h"
 #include "libc/stdio/stdio.h"
diff --git a/tool/decode/zip.c b/tool/decode/zip.c
index c735143b3..66ec4d443 100644
--- a/tool/decode/zip.c
+++ b/tool/decode/zip.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/fmt/conv.h"
diff --git a/tool/decode/zip2.c b/tool/decode/zip2.c
index a596c6a9c..2bfd656ac 100644
--- a/tool/decode/zip2.c
+++ b/tool/decode/zip2.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/fmt/conv.h"
diff --git a/tool/hash/crctab.c b/tool/hash/crctab.c
index 2a69b564a..a111abb5e 100644
--- a/tool/hash/crctab.c
+++ b/tool/hash/crctab.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/fmt/conv.h"
 #include "libc/macros.internal.h"
 #include "libc/nexgen32e/crc32.h"
diff --git a/tool/lambda/lib/lib.mk b/tool/lambda/lib/lib.mk
index aaa37939a..765161006 100644
--- a/tool/lambda/lib/lib.mk
+++ b/tool/lambda/lib/lib.mk
@@ -24,7 +24,6 @@ TOOL_LAMBDA_LIB_A_OBJS =				\
 	$(TOOL_LAMBDA_LIB_A_SRCS_C:%.c=o/$(MODE)/%.o)
 
 TOOL_LAMBDA_LIB_A_DIRECTDEPS =				\
-	LIBC_BITS					\
 	LIBC_CALLS					\
 	LIBC_INTRIN					\
 	LIBC_LOG					\
diff --git a/tool/net/lfuncs.c b/tool/net/lfuncs.c
index 6b486dc9e..36d52afac 100644
--- a/tool/net/lfuncs.c
+++ b/tool/net/lfuncs.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "dsp/scale/cdecimate2xuint8x8.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/popcnt.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/popcnt.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/rusage.h"
 #include "libc/calls/struct/stat.h"
diff --git a/tool/net/ljson.c b/tool/net/ljson.c
index 3dd5e68fe..5d3780fb3 100644
--- a/tool/net/ljson.c
+++ b/tool/net/ljson.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/likely.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/likely.h"
 #include "libc/intrin/kprintf.h"
 #include "libc/log/check.h"
 #include "libc/log/log.h"
diff --git a/tool/net/net.mk b/tool/net/net.mk
index c1c550a8f..e95f9c556 100644
--- a/tool/net/net.mk
+++ b/tool/net/net.mk
@@ -30,7 +30,6 @@ TOOL_NET_CHECKS =								\
 TOOL_NET_DIRECTDEPS =								\
 	DSP_SCALE								\
 	LIBC_ALG								\
-	LIBC_BITS								\
 	LIBC_CALLS								\
 	LIBC_DNS								\
 	LIBC_FMT								\
diff --git a/tool/net/redbean.c b/tool/net/redbean.c
index e02f56704..7ef129757 100644
--- a/tool/net/redbean.c
+++ b/tool/net/redbean.c
@@ -16,9 +16,9 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/atomic.h"
-#include "libc/bits/likely.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/atomic.h"
+#include "libc/intrin/likely.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/ioctl.h"
 #include "libc/calls/pledge.h"
diff --git a/tool/plinko/lib/gc.c b/tool/plinko/lib/gc.c
index f4622a5eb..43f840fb5 100644
--- a/tool/plinko/lib/gc.c
+++ b/tool/plinko/lib/gc.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/popcnt.h"
+#include "libc/intrin/popcnt.h"
 #include "libc/limits.h"
 #include "libc/log/check.h"
 #include "libc/log/countbranch.h"
diff --git a/tool/plinko/lib/iswide.c b/tool/plinko/lib/iswide.c
index 1f6c33288..fa4e297c8 100644
--- a/tool/plinko/lib/iswide.c
+++ b/tool/plinko/lib/iswide.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/midpoint.h"
+#include "libc/intrin/midpoint.h"
 #include "libc/macros.internal.h"
 #include "tool/plinko/lib/char.h"
 
diff --git a/tool/plinko/lib/lib.mk b/tool/plinko/lib/lib.mk
index 03dd22203..1f3b6de8d 100644
--- a/tool/plinko/lib/lib.mk
+++ b/tool/plinko/lib/lib.mk
@@ -24,7 +24,6 @@ TOOL_PLINKO_LIB_A_OBJS =				\
 	$(TOOL_PLINKO_LIB_A_SRCS_C:%.c=o/$(MODE)/%.o)
 
 TOOL_PLINKO_LIB_A_DIRECTDEPS =				\
-	LIBC_BITS					\
 	LIBC_CALLS					\
 	LIBC_FMT					\
 	LIBC_INTRIN					\
diff --git a/tool/plinko/lib/plinko.c b/tool/plinko/lib/plinko.c
index 5035420b3..d086b2303 100644
--- a/tool/plinko/lib/plinko.c
+++ b/tool/plinko/lib/plinko.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/likely.h"
+#include "libc/intrin/likely.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/strace.internal.h"
 #include "libc/calls/struct/sigaction.h"
diff --git a/tool/viz/bf.c b/tool/viz/bf.c
index fa1a46eef..df23ff88c 100644
--- a/tool/viz/bf.c
+++ b/tool/viz/bf.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/fmt/itoa.h"
diff --git a/tool/viz/cpuid.c b/tool/viz/cpuid.c
index 3ba6ab3ba..c7e724bad 100644
--- a/tool/viz/cpuid.c
+++ b/tool/viz/cpuid.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/intrin/kprintf.h"
 #include "libc/log/color.internal.h"
 #include "libc/log/log.h"
diff --git a/tool/viz/deathstar.c b/tool/viz/deathstar.c
index 9f56c8916..2fd3729cd 100644
--- a/tool/viz/deathstar.c
+++ b/tool/viz/deathstar.c
@@ -1,5 +1,5 @@
 #include "dsp/tty/tty.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/termios.h"
 #include "libc/log/check.h"
diff --git a/tool/viz/fold.c b/tool/viz/fold.c
index 233475520..6e715f554 100644
--- a/tool/viz/fold.c
+++ b/tool/viz/fold.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/errno.h"
 #include "libc/fmt/conv.h"
 #include "libc/runtime/runtime.h"
diff --git a/tool/viz/generatematrix.c b/tool/viz/generatematrix.c
index 3fb237913..2a2493b34 100644
--- a/tool/viz/generatematrix.c
+++ b/tool/viz/generatematrix.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/fmt/conv.h"
 #include "libc/fmt/fmt.h"
 #include "libc/limits.h"
diff --git a/tool/viz/lib/convolve.h b/tool/viz/lib/convolve.h
index 892af17f3..832276b3d 100644
--- a/tool/viz/lib/convolve.h
+++ b/tool/viz/lib/convolve.h
@@ -1,6 +1,6 @@
 #ifndef COSMOPOLITAN_TOOL_VIZ_LIB_CONVOLVE_H_
 #define COSMOPOLITAN_TOOL_VIZ_LIB_CONVOLVE_H_
-#include "libc/bits/xmmintrin.internal.h"
+#include "libc/intrin/xmmintrin.internal.h"
 #include "libc/str/str.h"
 #include "tool/viz/lib/graphic.h"
 #if !(__ASSEMBLER__ + __LINKER__ + 0)
diff --git a/tool/viz/lib/dither.c b/tool/viz/lib/dither.c
index 6dff31597..ad82b9818 100644
--- a/tool/viz/lib/dither.c
+++ b/tool/viz/lib/dither.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "dsp/tty/quant.h"
-#include "libc/bits/hilbert.h"
-#include "libc/bits/morton.h"
+#include "libc/intrin/hilbert.h"
+#include "libc/intrin/morton.h"
 #include "libc/log/check.h"
 #include "libc/log/log.h"
 #include "libc/macros.internal.h"
diff --git a/tool/viz/lib/formatstringtable-assembly.c b/tool/viz/lib/formatstringtable-assembly.c
index 2aa23929c..b7f9f7a89 100644
--- a/tool/viz/lib/formatstringtable-assembly.c
+++ b/tool/viz/lib/formatstringtable-assembly.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/fmt/itoa.h"
 #include "libc/runtime/gc.internal.h"
 #include "libc/str/str.h"
diff --git a/tool/viz/lib/formatstringtable-code.c b/tool/viz/lib/formatstringtable-code.c
index a4612a790..9041e099e 100644
--- a/tool/viz/lib/formatstringtable-code.c
+++ b/tool/viz/lib/formatstringtable-code.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/fmt/itoa.h"
 #include "tool/viz/lib/formatstringtable.h"
 
diff --git a/tool/viz/lib/formatstringtable.c b/tool/viz/lib/formatstringtable.c
index 96f1f2ac1..59fe879e2 100644
--- a/tool/viz/lib/formatstringtable.c
+++ b/tool/viz/lib/formatstringtable.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/unicode/unicode.h"
 #include "tool/viz/lib/formatstringtable.h"
 
diff --git a/tool/viz/lib/gaussian.c b/tool/viz/lib/gaussian.c
index 46568a792..bc6f19356 100644
--- a/tool/viz/lib/gaussian.c
+++ b/tool/viz/lib/gaussian.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/xmmintrin.internal.h"
+#include "libc/intrin/xmmintrin.internal.h"
 #include "libc/macros.internal.h"
 #include "libc/mem/mem.h"
 #include "libc/str/str.h"
diff --git a/tool/viz/lib/getxtermcodes.c b/tool/viz/lib/getxtermcodes.c
index 2214ce773..f320875ab 100644
--- a/tool/viz/lib/getxtermcodes.c
+++ b/tool/viz/lib/getxtermcodes.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "dsp/tty/quant.h"
-#include "libc/bits/xmmintrin.internal.h"
+#include "libc/intrin/xmmintrin.internal.h"
 #include "libc/macros.internal.h"
 #include "tool/viz/lib/graphic.h"
 
diff --git a/tool/viz/lib/perlin3.c b/tool/viz/lib/perlin3.c
index 18bf13d64..1e08e32f5 100644
--- a/tool/viz/lib/perlin3.c
+++ b/tool/viz/lib/perlin3.c
@@ -16,8 +16,8 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
-#include "libc/bits/initializer.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/initializer.internal.h"
 #include "libc/macros.internal.h"
 #include "libc/math.h"
 #include "tool/viz/lib/graphic.h"
diff --git a/tool/viz/lib/resizegraphic.c b/tool/viz/lib/resizegraphic.c
index fdc03e795..c0fcf7163 100644
--- a/tool/viz/lib/resizegraphic.c
+++ b/tool/viz/lib/resizegraphic.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/assert.h"
-#include "libc/bits/xmmintrin.internal.h"
+#include "libc/intrin/xmmintrin.internal.h"
 #include "libc/runtime/buffer.h"
 #include "tool/viz/lib/graphic.h"
 
diff --git a/tool/viz/lib/vizlib.mk b/tool/viz/lib/vizlib.mk
index 4a6013713..cc46ea216 100644
--- a/tool/viz/lib/vizlib.mk
+++ b/tool/viz/lib/vizlib.mk
@@ -28,7 +28,6 @@ TOOL_VIZ_LIB_A_DIRECTDEPS =				\
 	DSP_SCALE					\
 	DSP_TTY						\
 	LIBC_ALG					\
-	LIBC_BITS					\
 	LIBC_CALLS					\
 	LIBC_FMT					\
 	LIBC_INTRIN					\
diff --git a/tool/viz/lib/ycbcr2rgb3.c b/tool/viz/lib/ycbcr2rgb3.c
index dd157bfba..88ad860f0 100644
--- a/tool/viz/lib/ycbcr2rgb3.c
+++ b/tool/viz/lib/ycbcr2rgb3.c
@@ -25,7 +25,7 @@
 #include "dsp/core/illumination.h"
 #include "dsp/core/q.h"
 #include "dsp/scale/scale.h"
-#include "libc/bits/xmmintrin.internal.h"
+#include "libc/intrin/xmmintrin.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/sigset.h"
 #include "libc/intrin/pmulhrsw.h"
diff --git a/tool/viz/life.c b/tool/viz/life.c
index bb507cd9b..fcfba8df2 100644
--- a/tool/viz/life.c
+++ b/tool/viz/life.c
@@ -18,10 +18,10 @@
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "dsp/core/gamma.h"
 #include "dsp/scale/scale.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/popcnt.h"
-#include "libc/bits/safemacros.internal.h"
-#include "libc/bits/xchg.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/popcnt.h"
+#include "libc/intrin/safemacros.internal.h"
+#include "libc/intrin/xchg.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/ioctl.h"
 #include "libc/calls/struct/stat.h"
diff --git a/tool/viz/maxmind.c b/tool/viz/maxmind.c
index cb26599d3..baa1b52d6 100644
--- a/tool/viz/maxmind.c
+++ b/tool/viz/maxmind.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/calls.h"
 #include "libc/log/check.h"
 #include "libc/log/log.h"
diff --git a/tool/viz/memplan.c b/tool/viz/memplan.c
index 676036e55..904606431 100644
--- a/tool/viz/memplan.c
+++ b/tool/viz/memplan.c
@@ -7,7 +7,7 @@
 │   • http://creativecommons.org/publicdomain/zero/1.0/            │
 ╚─────────────────────────────────────────────────────────────────*/
 #endif
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/calls/internal.h"
 #include "libc/fmt/itoa.h"
 #include "libc/macros.internal.h"
diff --git a/tool/viz/memzoom.c b/tool/viz/memzoom.c
index 481fc5630..3eb082b53 100644
--- a/tool/viz/memzoom.c
+++ b/tool/viz/memzoom.c
@@ -17,10 +17,10 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "dsp/scale/cdecimate2xuint8x8.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/hilbert.h"
-#include "libc/bits/morton.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/hilbert.h"
+#include "libc/intrin/morton.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/ioctl.h"
 #include "libc/calls/struct/sigaction.h"
diff --git a/tool/viz/printansi.c b/tool/viz/printansi.c
index 55406bd64..e754587aa 100644
--- a/tool/viz/printansi.c
+++ b/tool/viz/printansi.c
@@ -22,8 +22,8 @@
 #include "dsp/tty/quant.h"
 #include "dsp/tty/tty.h"
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/ioctl.h"
 #include "libc/calls/struct/stat.h"
diff --git a/tool/viz/printpeb.c b/tool/viz/printpeb.c
index 43eb84d26..a9d81660c 100644
--- a/tool/viz/printpeb.c
+++ b/tool/viz/printpeb.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/dce.h"
diff --git a/tool/viz/printvideo.c b/tool/viz/printvideo.c
index bd3fa0679..546062391 100644
--- a/tool/viz/printvideo.c
+++ b/tool/viz/printvideo.c
@@ -26,9 +26,9 @@
 #include "libc/alg/alg.h"
 #include "libc/alg/arraylist.internal.h"
 #include "libc/assert.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/safemacros.internal.h"
-#include "libc/bits/xchg.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/safemacros.internal.h"
+#include "libc/intrin/xchg.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/internal.h"
 #include "libc/calls/ioctl.h"
diff --git a/tool/viz/tabalign.c b/tool/viz/tabalign.c
index 9c1f52e0b..1b8a9ed7c 100644
--- a/tool/viz/tabalign.c
+++ b/tool/viz/tabalign.c
@@ -17,7 +17,7 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "libc/alg/arraylist.internal.h"
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/fmt/conv.h"
 #include "libc/limits.h"
 #include "libc/log/check.h"
diff --git a/tool/viz/tailf.c b/tool/viz/tailf.c
index b8d004518..364f38a2d 100644
--- a/tool/viz/tailf.c
+++ b/tool/viz/tailf.c
@@ -16,7 +16,7 @@
 │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             │
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
-#include "libc/bits/safemacros.internal.h"
+#include "libc/intrin/safemacros.internal.h"
 #include "libc/calls/calls.h"
 #include "libc/calls/struct/stat.h"
 #include "libc/macros.internal.h"
diff --git a/tool/viz/tcp.c b/tool/viz/tcp.c
index 0032049c3..8a3c6559a 100644
--- a/tool/viz/tcp.c
+++ b/tool/viz/tcp.c
@@ -7,7 +7,7 @@
 │   • http://creativecommons.org/publicdomain/zero/1.0/            │
 ╚─────────────────────────────────────────────────────────────────*/
 #endif
-#include "libc/bits/bits.h"
+#include "libc/intrin/bits.h"
 #include "libc/stdio/stdio.h"
 // clang-format off
 
diff --git a/tool/viz/viz.mk b/tool/viz/viz.mk
index ed6677ee3..2c7a98e06 100644
--- a/tool/viz/viz.mk
+++ b/tool/viz/viz.mk
@@ -20,7 +20,6 @@ TOOL_VIZ_DIRECTDEPS =				\
 	DSP_MPEG				\
 	DSP_SCALE				\
 	DSP_TTY					\
-	LIBC_BITS				\
 	LIBC_CALLS				\
 	LIBC_DNS				\
 	LIBC_FMT				\
diff --git a/tool/viz/xterm256effective.c b/tool/viz/xterm256effective.c
index f0b223b02..35001c0cc 100644
--- a/tool/viz/xterm256effective.c
+++ b/tool/viz/xterm256effective.c
@@ -17,8 +17,8 @@
 │ PERFORMANCE OF THIS SOFTWARE.                                                │
 ╚─────────────────────────────────────────────────────────────────────────────*/
 #include "dsp/tty/quant.h"
-#include "libc/bits/bits.h"
-#include "libc/bits/xchg.internal.h"
+#include "libc/intrin/bits.h"
+#include "libc/intrin/xchg.internal.h"
 #include "libc/fmt/fmt.h"
 #include "libc/math.h"
 #include "libc/runtime/runtime.h"