TL;DR
Get the latest gadgets delivered free with Prime
- Fast, free delivery on millions of items
- Prime Video, Amazon Music and more included
- Member-only deals all year
A September 2026 report by Ken Shirriff reconstructs the Intel 8087’s FPTAN tangent algorithm from the chip’s circuitry and microcode. The report says the chip combined CORDIC with a polynomial approximation, calculating tangent in about 90 microseconds compared with 13,000 microseconds on the 8086.
A reverse-engineering report published in September 2026 describes how Intel’s 8087 floating-point chip calculated tangent by combining CORDIC with a polynomial approximation. The method, reconstructed from the chip’s circuitry and microcode, helped the 8087 calculate a tangent in about 90 microseconds, compared with about 13,000 microseconds on the 8086, according to the report.
Ken Shirriff’s report examines the 8087’s FPTAN instruction by tracing the chip’s physical layout and microcode. To study the circuitry, he removed the chip’s lid and made a high-resolution microscope image. The chip’s central microcode ROM contains 1,648 micro-instructions, while its datapath carries out calculations on 80-bit values.
The datapath includes a constant ROM holding values used by CORDIC, an exponent ROM, a shifter, an adder, registers, and a 16-bit status shift register used in CORDIC calculations. Shirriff’s account says the 8087 did not rely on CORDIC alone: it combined the shift-and-add method with a polynomial approximation to reach what the report describes as both high accuracy and high performance.
The reported timing comparison is between the 8087’s tangent calculation and the 8086’s: approximately 90 microseconds versus 13,000 microseconds. These figures describe execution time for the calculation in the report; they are not a general benchmark of every operation or program on either processor.
How the 8087 sped up tangent
The account shows how a specialized floating-point processor could make operations that were slow on a general-purpose processor practical for early personal computers and other systems. The 8087’s tangent instruction relied on dedicated calculation hardware and carefully controlled microcode, rather than treating trigonometry as a single simple operation.
The combination also illustrates a design tradeoff. CORDIC uses shifts, additions, subtractions, and table lookups, avoiding multiplication and division; the report says the 8087 paired it with polynomial approximation. That reconstruction gives engineers and computing historians a more concrete picture of how the chip balanced speed and accuracy within its hardware.
Top picks for "reverse engineer intel"
As an affiliate, we earn on qualifying purchases.
From CORDIC to the 8087
CORDIC, short for COordinate Rotation DIgital Computer, was developed by engineer Jack Volder in 1956 for a digital navigation computer intended to replace an analog system associated with the B-58 Hustler. The report explains that analog equipment could generate trigonometric values with a resolver, while the slow transistors of the era made digital methods challenging.
CORDIC represents an angle through a sequence of rotations by precomputed special angles. Because these rotations can be reduced to shifts and additions, the method suited hardware with limited computational resources. The 8087 used the approach decades later as one part of a more elaborate tangent calculation. For tangent, the ratio of a point’s vertical and horizontal coordinates gives the result; Shirriff notes that the 8087 could work with a point not confined to the unit circle.
Limits of the reconstruction
The report describes the algorithm based on inspection of the chip’s circuitry and microcode, but the supplied material does not give a complete step-by-step account of every FPTAN operation or quantify the algorithm’s accuracy across different inputs. It also does not specify the precise testing conditions behind the 90-microsecond and 13,000-microsecond timings. Those numbers should be read as the report’s comparison, not as a result with a stated benchmark protocol.
Further details in the die
The report’s account centers on the die image, the datapath, and the microcode used by FPTAN. Readers seeking more detail can follow its circuit analysis and supporting diagrams, which explain the CORDIC operations and the hardware blocks involved. The material provided here does not announce a follow-up investigation or a further milestone.
Key Questions
What did the 8087 use to calculate tangent?
According to Ken Shirriff’s report, the FPTAN instruction combined CORDIC with polynomial approximation.
What is CORDIC?
CORDIC is an algorithm for computing functions such as trigonometric values using shifts, additions, subtractions, and table lookups. Its rotations use precomputed special angles.
How fast was the 8087 tangent calculation?
The report gives a time of about 90 microseconds for the 8087, compared with about 13,000 microseconds on the 8086. It does not provide detailed benchmark conditions in the supplied material.
How was the algorithm reverse-engineered?
Shirriff examined a high-resolution microscope image of the 8087’s die and analyzed its microcode and datapath circuitry.
Source: hn
Halloween Picks
halloween
As an affiliate, we earn on qualifying purchases.
