diff --git a/crypto/bn/internal.h b/crypto/bn/internal.h
index e2ccb94..7ee94fc 100644
--- a/crypto/bn/internal.h
+++ b/crypto/bn/internal.h
@@ -186,8 +186,6 @@
 #define BN_MULL_SIZE_NORMAL (16)              /* 32 */
 #define BN_MUL_RECURSIVE_SIZE_NORMAL (16)     /* 32 less than */
 #define BN_SQR_RECURSIVE_SIZE_NORMAL (16)     /* 32 */
-#define BN_MUL_LOW_RECURSIVE_SIZE_NORMAL (32) /* 32 */
-#define BN_MONT_CTX_SET_SIZE_WORD (64)        /* 32 */
 
 #define STATIC_BIGNUM(x)                                \
   {                                                     \
diff --git a/crypto/bn/mul.c b/crypto/bn/mul.c
index 029a59e..84dc24c 100644
--- a/crypto/bn/mul.c
+++ b/crypto/bn/mul.c
@@ -107,31 +107,6 @@
   }
 }
 
-void bn_mul_low_normal(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n) {
-  bn_mul_words(r, a, n, b[0]);
-
-  for (;;) {
-    if (--n <= 0) {
-      return;
-    }
-    bn_mul_add_words(&(r[1]), a, n, b[1]);
-    if (--n <= 0) {
-      return;
-    }
-    bn_mul_add_words(&(r[2]), a, n, b[2]);
-    if (--n <= 0) {
-      return;
-    }
-    bn_mul_add_words(&(r[3]), a, n, b[3]);
-    if (--n <= 0) {
-      return;
-    }
-    bn_mul_add_words(&(r[4]), a, n, b[4]);
-    r += 4;
-    b += 4;
-  }
-}
-
 #if !defined(OPENSSL_X86) || defined(OPENSSL_NO_ASM)
 /* Here follows specialised variants of bn_add_words() and bn_sub_words(). They
  * have the property performing operations on arrays of different sizes. The
