Cautious introduction of a patch that started from
SF 560379:  Karatsuba multiplication.
Lots of things were changed from that.  This needs a lot more testing,
for correctness and speed, the latter especially when bit lengths are
unbalanced.  For now, the Karatsuba code gets invoked if and only if
envar KARAT exists.
diff --git a/Misc/NEWS b/Misc/NEWS
index a454e18..f5e0e63 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -6,6 +6,10 @@
 
 Core and builtins
 
+- XXX Karatsuba multiplication.  This is currently used if and only
+  if envar KARAT exists.  It needs more correctness and speed testing,
+  the latter especially with unbalanced bit lengths.
+
 - u'%c' will now raise a ValueError in case the argument is an
   integer outside the valid range of Unicode code point ordinals.
 
@@ -66,8 +70,8 @@
   other platforms.  KeyboardInterrupt can now reliably be caught,
   and Ctrl+C at an interative prompt no longer terminates the
   process under NT/2k/XP (it never did under Win9x).  Ctrl+C will
-  interrupt time.sleep() in the main thread, and any child processes 
-  created via the popen family (on win2k; we can't make win9x work 
+  interrupt time.sleep() in the main thread, and any child processes
+  created via the popen family (on win2k; we can't make win9x work
   reliably) are also interrupted (as generally happens on for Linux/Unix.)
   [SF bugs 231273, 439992 and 581232]
 
@@ -83,7 +87,7 @@
   as directory names.
 
 - The built-ins slice() and buffer() are now callable types.  The
-  types classobj (formerly class), code, function, instance, and
+0  types classobj (formerly class), code, function, instance, and
   instancemethod (formerly instance-method), which have no built-in
   names but are accessible through the types module, are now also
   callable.  The type dict-proxy is renamed to dictproxy.