+/*----- Magical numbers ---------------------------------------------------*/
+
+/* --- Maximum recursion depth --- *
+ *
+ * This is the number of bits in a @size_t@ object. Why?
+ *
+ * Just to convince yourself that this is correct: let @b = MPW_MAX + 1@.
+ * Then the largest possible @mp@ is %$M - 1$% where %$M = b^Z$%. Let %$r$%
+ * be a radix to read or write. Since the recursion squares the radix at
+ * each step, the highest number reached by the recursion is %$d$%, where:
+ *
+ * %$r^(2^d) = b^Z$%.
+ *
+ * Solving gives that %$d = \lg \log_r b^Z$%. If %$r = 2$%, this is maximum,
+ * so choosing %$d = \lg \lg b^Z = \lg (Z \lg b) = \lg Z + \lg \lg b$%.
+ *
+ * Expressing %$\lg Z$% as @CHAR_BIT * sizeof(size_t)@ yields an
+ * overestimate, since a @size_t@ representation may contain `holes'.
+ * Choosing to represent %$\lg \lg b$% by 10 is almost certainly sufficient
+ * for `some time to come'.
+ */
+
+#define DEPTH (CHAR_BIT * sizeof(size_t) + 10)
+