# O defeito FDIV do Pentium: um erro pequeno e uma resposta de 475 milhões de dólares

> Cinco entradas faltando numa tabela de consulta deixavam certas divisões ligeiramente erradas. A Intel achara o defeito internamente, decidira que ele não qualificava sequer como errata, o consertara em silêncio e nada disse. Quando um professor de matemática o achou por conta própria, a empresa ofereceu troca apenas a clientes que provassem ter sido afetados - e transformou uma falha aritmética rara no recall mais famoso da computação.

Source: https://ronutz.com/pt-BR/learn/the-pentium-fdiv-bug  
Updated: 2026-09-09

---

## O defeito

A divisão no primeiro Pentium usava o algoritmo Sweeney-Robertson-Tocher, que funciona consultando quocientes parciais numa tabela. A tabela era implementada como um arranjo lógico programável de 2.048 células, das quais 1.066 precisavam conter um de cinco valores: menos dois, menos um, zero, mais um, mais dois.

Por causa de um erro no script que carregava o arranjo, cinco entradas ficaram de fora. Quando o hardware de divisão indexava uma dessas células, lia zero em vez de mais dois, e a resposta saía errada - por um erro relativo de até cerca de seis partes em cem mil.

É essa a falha de engenharia inteira. Um script, cinco células, uma resposta errada no quinto algarismo significativo. Versões posteriores carregaram a tabela completa e o problema sumiu.

## A estatística, e por que era a errada

A posição da Intel era que a falha era desprezível, e a empresa publicou um estudo para sustentar isso: *Statistical Analysis of Floating Point Flaw in the Pentium Processor*, que estimava que um usuário típico encontraria um erro mais ou menos uma vez a cada muitos milhares de anos de computação comum. Em divisões aleatórias de 64 bits a taxa é de cerca de uma em nove bilhões.

A aritmética está correta e a conclusão não se segue, por uma razão que vale internalizar porque se repete o tempo todo em trabalho de segurança e de confiabilidade.

**A falha era determinística.** Para um par específico de operandos ela não falhava raramente; falhava *toda vez*. Um número de uma em nove bilhões descreve o que acontece quando as entradas são sorteadas ao acaso, e computações reais não sorteiam. Elas rodam a mesma fórmula sobre os mesmos dados repetidamente, num laço, numa planilha, num lote noturno. Um usuário cujo trabalho por acaso tocasse um par afetado encontraria o erro em toda execução e jamais veria um resultado correto - enquanto a média populacional dizia que o problema praticamente não existia.

Média sobre a população é a estatística certa para estimar o total de incidentes. É a estatística errada para dizer a um indivíduo se ele está afetado, e a Intel a usou para responder à segunda pergunta. Todo argumento de risco na forma "a probabilidade é minúscula" merece a pergunta seguinte: *minúscula em relação a quê, e a falha é independente ou determinística para uma dada entrada?*

## A cronologia, que é a história de verdade

**Maio ou junho de 1994.** Os testes da própria Intel acham o defeito. Os relatos divergem sobre quem e exatamente quando, e uma reconstrução detalhada sugere que provavelmente foi achado mais de uma vez internamente e mantido em silêncio a cada vez. A avaliação interna, citada nesse relato, era que aquilo não qualificava sequer como errata. A empresa revisou a circuitaria em silêncio, não divulgou nada e não recolheu nada.

**13 de junho de 1994.** Thomas Nicely, professor de matemática no Lynchburg College calculando somas sobre primos e primos gêmeos, nota inconsistências pouco depois de acrescentar um Pentium às suas máquinas. Passa quatro meses eliminando outras explicações - o próprio código, a placa-mãe, o chipset - porque a primeira suposição de um profissional é que o erro é dele.

**19 de outubro.** Ele tem certeza de que o processador está errado. As máquinas antigas dão a resposta certa; três sistemas Pentium diferentes dão a mesma resposta errada.

**24 de outubro.** Ele reporta à Intel.

**1º de novembro.** A Intel responde que verificações preliminares não acharam problema.

**30 de outubro, e depois.** Nicely manda e-mail a contatos acadêmicos descrevendo o defeito e pedindo que testem as próprias máquinas. A verificação volta rápido, e a história se espalha pela internet jovem numa velocidade que a empresa não previra.

**E então a posição que quebrou tudo.** A Intel ofereceu troca apenas a clientes que **demonstrassem estar afetados** - um ônus quase impossível de cumprir, já que estabelecer que seus cálculos tocavam uma das entradas faltantes exigia saber quais entradas faltavam, coisa que a Intel não publicara. Pediu-se prova de dano justamente a quem não podia produzi-la.

**20 de dezembro de 1994.** A Intel voltou atrás: troca sob pedido, sem perguntas, com lançamento contra os resultados do quarto trimestre. O valor foi de cerca de **475 milhões de dólares**. O relatório anual da empresa se descreveu como tendo sido engolfada por uma controvérsia.

## O que um profissional deve tirar disso

**O defeito era barato e o tratamento foi caro.** Havia outra sequência disponível em cada passo: publicar a errata em maio, descrever as operações afetadas, lançar a correção, oferecer troca a quem fizesse trabalho numérico. Esse caminho custa uma semana ruim e algum silício. O caminho tomado custou quase meio bilhão de dólares e trinta anos sendo o exemplo. É o argumento de que [não existe código perfeito](https://ronutz.com/pt-BR/learn/there-is-no-perfect-code) aplicado ao hardware: a falha não foi de engenharia, foi no intervalo entre saber e dizer.

**"Consertamos em silêncio" é uma decisão com prazo de validade.** A Intel corrigiu a circuitaria sem dizer nada, o que funciona só enquanto ninguém de fora acha o original. Alguém sempre acha - e quando acha, o fato de você já saber vira a história, substituindo o defeito por completo. A [DigiNotar](https://ronutz.com/pt-BR/learn/rsa-and-diginotar-2011) revogou certificados por um mês em silêncio e foi descoberta por um cidadão comum; o formato é idêntico.

**Pedir ao cliente que prove o dano inverte a relação.** Na prática, diz a ele que é ele quem está sob suspeita, no momento em que mais precisa ser acreditado - o oposto do que o registro do [Therac-25](https://ronutz.com/pt-BR/learn/therac-25-and-defence-in-depth) ensina sobre relatos que não se consegue explicar de imediato. Onde um defeito é determinístico e as entradas afetadas são conhecidas do fabricante e não do usuário, o ônus não pode honestamente ficar com o usuário.

**E quem achou era um estranho fazendo o próprio trabalho.** Nicely não estava auditando a Intel. Estava contando primos, notou que seus números estavam errados, e passou quatro meses suspeitando de si mesmo antes de suspeitar do chip. Quase todo caso deste catálogo tem alguém como ele: [Kaminsky](https://ronutz.com/pt-BR/learn/the-kaminsky-dns-flaw) com o DNS, um usuário de Gmail em Teerã com a DigiNotar, um departamento de estatística com [um mapa](https://ronutz.com/pt-BR/learn/the-500-mile-email). O relato que chega de fora, sobre algo que não deveria ser possível, é a entrada mais valiosa que um fabricante recebe e a que mais provavelmente será descartada.

## Fontes

- [HandWiki: o algoritmo SRT é implementado como arranjo lógico programável de 2.048 células, das quais 1.066 deveriam conter um de cinco valores (-2, -1, 0, +1, +2); nos chips defeituosos cinco células que deveriam conter +2 estavam faltando e retornavam 0; Nicely, professor de matemática no Lynchburg College, escrevera código para enumerar primos, primos gêmeos, trigêmeos e quádruplos, notou inconsistências em 13 de junho de 1994 pouco depois de acrescentar um Pentium, não conseguiu eliminar outros fatores como erros de programação e chipsets de placa-mãe até 19 de outubro, e reportou à Intel em 24 de outubro](https://handwiki.org/wiki/Software:Pentium_FDIV_bug)
- [Wikipedia: a Intel teria tomado conhecimento do problema de forma independente até junho de 1994 e começado a corrigi-lo, mas escolheu não divulgar detalhes publicamente nem recolher os processadores afetados; em 30 de outubro de 1994 Nicely mandou e-mail a vários contatos acadêmicos descrevendo o defeito e pedindo relatos de testes em 486-DX4, Pentiums e clones; o defeito foi rapidamente verificado por outros e a notícia se espalhou rápido na internet; a Intel adotou política de troca sob pedido em 20 de dezembro de 1994 e fez lançamento contra os resultados do quarto trimestre](https://en.wikipedia.org/wiki/Pentium_FDIV_bug)
- [Ken Shirriff, "Intel's $475 million error": em maio de 1994 os testes internos da Intel revelaram que muito raramente a divisão de ponto flutuante era ligeiramente imprecisa, e como apenas um em 9 bilhões de valores causava o problema a visão da Intel era que aquilo não qualificava sequer como errata; ainda assim a Intel revisou a circuitaria em silêncio; Nicely determinou que uma divisão específica estava errada em três computadores Pentium diferentes enquanto os antigos davam a resposta certa; os relatos sobre quem achou internamente divergem, e o defeito provavelmente foi mantido em silêncio dentro da Intel e descoberto mais de uma vez](http://www.righto.com/2024/12/this-die-photo-of-pentium-shows.html)
- [Grokipedia: a falha decorria de cinco entradas omitidas numa tabela de 1.066 entradas na ROM de constantes da FPU que implementava o algoritmo SRT, produzindo erros relativos de até cerca de 6 x 10^-5; afetava aproximadamente 1 em 9 bilhões de divisões aleatórias de 64 bits **mas era determinística para pares específicos de operandos**; um representante da Intel respondeu a Nicely em 1º de novembro de 1994 dizendo que verificações preliminares não tinham achado problema no processador](https://grokipedia.com/page/Pentium_FDIV_bug)
- [Center Consulting: a tabela deveria ter 1.066 entradas mas, por um erro no script que carregava o arranjo, cinco ficaram de fora, e quando o hardware de divisão indexava uma dessas células buscava zero em vez do valor correto; o estudo interno da Intel "Statistical Analysis of Floating Point Flaw in the Pentium Processor", de Sharangpani e Barton, argumentava que a falha era extremamente improvável de afetar usuários comuns, estimando um erro apenas uma vez a cada muitos milhares de anos de computação normal; a Intel inicialmente ofereceu troca apenas a clientes que demonstrassem estar afetados, voltou atrás em dezembro de 1994 para trocar qualquer Pentium afetado sob pedido, e fez um lançamento de cerca de 475 milhões de dólares; a lição duradoura foi sobre tratamento, um defeito de hardware estreito e bem compreendido virando uma das falhas mais famosas da computação menos pelo silício do que pelo modo como seu fabricante escolheu primeiro falar dele](https://www.centerconsulting.com/code-library/stories/pentium-fdiv-bug)
- [Tom's Hardware, trinta anos depois: como apenas cinco das 1.066 células populadas tinham o valor errado, a divisão de ponto flutuante era em geral correta até pelo menos o quarto dígito, o que talvez explique o defeito ter passado despercebido por mais de um ano; a Intel reconheceu o problema no relatório anual de 1994, dizendo ter sido engolfada por uma controvérsia, e admitiu que custara 475 milhões de dólares recolher os processadores defeituosos](https://www.tomshardware.com/pc-components/cpus/its-been-30-years-since-intels-infamous-pentium-fdiv-bug-reared-its-ugly-head-a-math-bug-caused-intels-first-cpu-recall)
