diff --git a/code/bignum.lisp b/code/bignum.lisp
index f6000a8e003dc8c199fe907deeb877d0dce5cba7..f32dec34de2c56dba52a917b6221d6b048227bb0 100644
--- a/code/bignum.lisp
+++ b/code/bignum.lisp
@@ -11,6 +11,28 @@
 ;;;
 
 (in-package "BIGNUM")
+(use-package "KERNEL")
+
+;;; These symbols define the interface to the number code.
+
+(export '(add-bignums multiply-bignums negate-bignum subtract-bignum
+	  multiply-bignum-and-fixnum multiply-fixnums
+	  bignum-ashift-right bignum-ashift-left bignum-gcd
+	  bignum-to-float float-bignum-ratio bignum-integer-length
+	  bignum-logical-and bignum-logical-ior bignum-logical-xor
+	  bignum-logical-not bignum-load-byte bignum-deposit-byte
+	  bignum-truncate bignum-plus-p bignum-compare make-small-bignum
+	  bignum-logcount))
+
+;;; These symbols define the interface to the compiler.
+
+(export '(bignum-type bignum-element-type bignum-index %allocate-bignum
+	  %bignum-length %bignum-set-length %bignum-ref %bignum-set
+	  %digit-0-or-plusp %add-with-carry %subtract-with-borrow
+	  %multiply-and-add %multiply %lognot %logand %logior %logxor
+	  %fixnum-to-digit %floor %fixnum-digit-with-correct-sign %ashl
+	  %ashr %digit-logical-shift-right))
+
 
 
 ;;;; Notes.
@@ -1027,26 +1049,26 @@
 (defun single-float-from-bits (bits exp plusp)
   (declare (fixnum exp))
   (let ((res (dpb exp
-		  single-float-exponent-byte
+		  vm:single-float-exponent-byte
 		  (logandc2 (ext:truly-the (unsigned-byte 31)
 					   (%bignum-ref bits 1))
-			    single-float-hidden-bit))))
+			    vm:single-float-hidden-bit))))
     (make-single-float
      (if plusp
 	 res
-	 (logior res (ash -1 float-sign-shift))))))
+	 (logior res (ash -1 vm:float-sign-shift))))))
 ;;;
 (defun double-float-from-bits (bits exp plusp)
   (declare (fixnum exp))
   (let ((hi (dpb exp
-		 double-float-exponent-byte
+		 vm:double-float-exponent-byte
 		 (logandc2 (ext:truly-the (unsigned-byte 31)
 					  (%bignum-ref bits 2))
-			   double-float-hidden-bit))))
+			   vm:double-float-hidden-bit))))
     (make-double-float
      (if plusp
 	 hi
-	 (logior hi (ash -1 float-sign-shift)))
+	 (logior hi (ash -1 vm:float-sign-shift)))
      (%bignum-ref bits 1))))
 
 
@@ -1079,14 +1101,14 @@
 		 (single-float
 		  (single-float-from-bits
 		   bits
-		   (check-exponent len single-float-bias
-		                   single-float-normal-exponent-max)
+		   (check-exponent len vm:single-float-bias
+		                   vm:single-float-normal-exponent-max)
 		   plusp))
 		 (double-float
 		  (double-float-from-bits
 		   bits
-		   (check-exponent len double-float-bias
-		                   double-float-normal-exponent-max)
+		   (check-exponent len vm:double-float-bias
+		                   vm:double-float-normal-exponent-max)
 		   plusp))))
 	     (check-exponent (exp bias max)
 	       (let ((exp (+ exp bias)))