La superoptimización es el proceso mediante el cual un compilador identifica automáticamente la secuencia óptima de instrucciones para una serie de comandos sin bucles. Aunque los compiladores modernos realizan transformaciones mecánicas eficientes, suelen carecer de la capacidad de razonamiento no trivial necesario para inventar soluciones completamente nuevas. En el diseño de una librería de cálculos de punto flotante, el autor encontró que un algoritmo directo para extraer el bit más bajo de un número de punto flotado era ineficiente para potencias de dos, requiriendo una rama condicional que ralentizaba el código común y podía generar predicciones de rama incorrectas.
Para resolver esto, el autor implementó una búsqueda exhaustiva de fórmulas matemáticas. Dado que los probadores de teoremas son demasiado lentos, se diseñaron casos de prueba representativos para validar cada fórmula candidata. El proceso consistió en iterar sobre todas las combinaciones posibles de operaciones aritméticas básicas, utilizando un enfoque inductivo para construir conjuntos de expresiones. Este método permitió encontrar fórmulas con menos operaciones que los algoritmos convencionales, como una que utiliza la resta para reutilizar subexpresiones y ahorrar una operación. La búsqueda se completó en minutos gracias a la reducción de la complejidad mediante la eliminación de duplicados y la selección de constantes específicas para el campo binario de los números de punto flotado. Esta técnica demuestra que la computación exhaustiva puede descubrir optimizaciones complejas que los modelos de lenguaje o los compiladores estándar no logran, integrándose posteriormente en un emulador de FPU en desarrollo.
