Index: src/wp-includes/formatting.php
===================================================================
--- src/wp-includes/formatting.php	(revision 27859)
+++ src/wp-includes/formatting.php	(working copy)
@@ -173,10 +173,10 @@
 			// regular expressions
 			$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
 
-			// 9x9 (times)
+			// 9x9 (times), but never 0x9999
 			if ( 1 === preg_match( '/(?<=\d)x\d/', $text ) ) {
 				// Searching for a digit is 10 times more expensive than for the x, so we avoid doing this one!
-				$curl = preg_replace( '/\b(\d+)x(\d+)\b/', '$1&#215;$2', $curl );
+				$curl = preg_replace( '/\b(\d(?(?<=0)[\d\.,]+|[\d\.,]*))x(-?\d[\d\.,]*)\b/', '$1&#215;$2', $curl );
 			}
 		}
 
Index: tests/phpunit/tests/formatting/WPTexturize.php
===================================================================
--- tests/phpunit/tests/formatting/WPTexturize.php	(revision 27859)
+++ tests/phpunit/tests/formatting/WPTexturize.php	(working copy)
@@ -773,9 +773,29 @@
 				"12&#215;34",
 			),
 			array(
+				"-123x1=-123",
+				"-123&#215;1=-123",
+			),
+			array(
+				"-123x-1",
+				"-123&#215;-1",
+			),
+			array(
+				"0.675x1=0.675",
+				"0.675&#215;1=0.675",
+			),
+			array(
 				"9 x 9",
 				"9 x 9",
 			),
+			array(
+				"0x70",
+				"0x70",
+			),
+			array(
+				"3x2x1x0",
+				"3x2x1x0",
+			),
 		);
 	}
 
