diff --git a/doc/manual/expressions/builtins.xml b/doc/manual/expressions/builtins.xml
index ac1fe7e2f..5489fab00 100644
--- a/doc/manual/expressions/builtins.xml
+++ b/doc/manual/expressions/builtins.xml
@@ -92,6 +92,36 @@ available as builtins.derivation.
+ builtins.bitAnd
+ e1 e2
+
+ Return the bitwise AND of the integers
+ e1 and
+ e2.
+
+
+
+
+ builtins.bitOr
+ e1 e2
+
+ Return the bitwise OR of the integers
+ e1 and
+ e2.
+
+
+
+
+ builtins.bitXor
+ e1 e2
+
+ Return the bitwise XOR of the integers
+ e1 and
+ e2.
+
+
+
+
builtins
The set builtins contains all
diff --git a/tests/lang/eval-okay-arithmetic.exp b/tests/lang/eval-okay-arithmetic.exp
index b195055b7..5c54d10b7 100644
--- a/tests/lang/eval-okay-arithmetic.exp
+++ b/tests/lang/eval-okay-arithmetic.exp
@@ -1 +1 @@
-2188
+2216
diff --git a/tests/lang/eval-okay-arithmetic.nix b/tests/lang/eval-okay-arithmetic.nix
index bbbbc4691..7e9e6a0b6 100644
--- a/tests/lang/eval-okay-arithmetic.nix
+++ b/tests/lang/eval-okay-arithmetic.nix
@@ -26,6 +26,10 @@ let {
(56088 / 123 / 2)
(3 + 4 * const 5 0 - 6 / id 2)
+ (builtins.bitAnd 12 10) # 0b1100 & 0b1010 = 8
+ (builtins.bitOr 12 10) # 0b1100 | 0b1010 = 14
+ (builtins.bitXor 12 10) # 0b1100 ^ 0b1010 = 6
+
(if 3 < 7 then 1 else err)
(if 7 < 3 then err else 1)
(if 3 < 3 then err else 1)