Reverse-engineering The Intel 8087'S Tangent Algorithm: More Than CORDIC
AIThis post was created with the assistance of artificial intelligence (AI).

TL;DR

Prime Big Deal Days · Oct 6–7Offer from Amazon

Get privacy and security gear delivered free — and shop member deals

  • Fast, free delivery on millions of items
  • Access to Prime Big Deal Days deals on October 6–7
  • Prime Video, Amazon Music and more included
Start your free Prime trial Free trial for eligible customers · Cancel anytime
As an affiliate, we earn on qualifying purchases.

A report at Righto.com describes how reverse-engineering the Intel 8087’s circuitry and microcode revealed that its tangent instruction, FPTAN, combined CORDIC calculations with polynomial approximation. The report says the 8087 computed a tangent in about 90 microseconds, compared with 13,000 microseconds on the 8086; the source does not provide independent performance testing details.

A reverse-engineering report published by Righto.com describes how the Intel 8087 floating-point coprocessor calculated tangent using a combination of CORDIC and polynomial approximation. The account, based on examination of the chip’s circuitry and microcode, says the hybrid approach helped deliver high accuracy and performance in the 1980-era processor.

The report identifies the tangent operation as FPTAN and says its algorithm combined two established numerical techniques. CORDIC uses shifts, additions and table lookups to perform calculations that can produce trigonometric functions without multiplication or division. The 8087 also used a polynomial approximation, according to the report, though the supplied account does not detail the polynomial or how its result was combined with the CORDIC steps.

To trace the instruction, the author says they removed the chip’s lid and made a high-resolution microscope image. The 8087’s microcode ROM contains 1,648 micro-instructions that control the chip. The report also identifies datapath components used by FPTAN, including a shifter, an adder, constant and exponent ROMs, registers for floating-point values, and a shift register holding status bits for CORDIC calculations.

The report gives a performance comparison of 90 microseconds for a tangent calculation on the 8087 and 13,000 microseconds on the 8086. Those figures are presented by the source as evidence of a large speed difference, but the supplied material does not specify the measurement setup or workload.

At a glance
reportWhen: Published September 2026
The developmentA reverse-engineering report explains how the Intel 8087 combined CORDIC and polynomial approximation to calculate tangent.

How the 8087 Sped Up Trigonometry

The finding offers a view into how early floating-point hardware balanced accuracy, speed and circuit complexity. CORDIC was designed to work with relatively simple operations, making it useful when hardware multiplication and division were costly. The report’s account of a polynomial approximation alongside CORDIC shows that the 8087’s tangent calculation was not simply one algorithm applied in isolation.

For readers interested in computing history, the analysis connects the 8087’s visible performance gains to the way its circuitry and microcode divided up the work. The chip brought faster floating-point calculations to IBM PCs and other systems, according to the report. Its FPTAN implementation illustrates how specialized hardware could accelerate a mathematical operation that would otherwise take much longer on the 8086.

From Flight Computers to PCs

The report traces CORDIC to engineer Jack Volder, who developed it in 1956 for a digital navigation computer associated with the B-58 Hustler. The aircraft’s analog navigation system could generate trigonometric values using an electromechanical resolver, but the source says analog components limited accuracy. Volder’s method offered a way to calculate trigonometric functions digitally using operations suited to the slow transistors of the period.

CORDIC works by representing an angle as a sequence of special rotations, with angles derived from arctangent values of powers of two. These rotations can be computed using addition, subtraction and shifts. In a unit-circle representation, the resulting coordinates correspond to cosine and sine, while their ratio gives tangent. The Righto.com report says the 8087 applied related calculations to a vector that did not need to lie on the unit circle, allowing it to obtain tangent without directly calculating sine and cosine.

Intel introduced the 8087 in 1980 as a floating-point coprocessor for the 8086 and compatible systems. The report frames FPTAN as one example of the specialized algorithms implemented in its datapath and controlled by microcode.

“The 8087 combined the two to obtain both high accuracy and high performance.”

— Righto.com report

What the Microcode Account Leaves Open

The supplied report excerpt does not show the full FPTAN microcode sequence or explain the exact division of work between CORDIC and polynomial approximation. It also does not give the polynomial coefficients, numerical error measurements, input ranges or handling of special cases. The stated timing comparison lacks details about test conditions, so the figures cannot be independently assessed from the supplied material alone.

The findings are presented as the author’s reverse-engineering analysis of a chip sample. The excerpt does not describe whether the implementation was compared against documentation from Intel or verified on multiple 8087 chips.

Further Details From the Die

The Righto.com article’s examination of the 8087 datapath and microcode provides a basis for tracing how FPTAN’s operations move through the chip. The supplied source material does not announce a follow-up, a new release from Intel or an independent replication. Further clarity would depend on publication of the complete microcode trace, calculation details and measurement methodology.

Key Questions

What did the report find about the 8087 tangent instruction?

It says FPTAN combined CORDIC calculations with polynomial approximation to calculate tangent.

What is CORDIC?

CORDIC is a method for calculating functions such as trigonometric values using shifts, additions and table lookups. The report traces its development to Jack Volder in 1956.

How fast was the 8087 tangent calculation?

The report gives a time of about 90 microseconds, compared with 13,000 microseconds on the 8086. It does not state the conditions behind those measurements in the supplied material.

How did the author examine the 8087?

The author says they removed the chip’s lid and made a high-resolution microscope image, then examined the circuitry and microcode to trace FPTAN.

What remains unknown about the algorithm?

The supplied account does not include the full instruction sequence, the polynomial’s coefficients, numerical error results or enough testing details to independently assess the timing figures.

Source: hn

FALL

Fall Picks

As an affiliate, we earn on qualifying purchases.

You May Also Like

Innovate Your Agency Billing Strategy With Usage And Retainers

Agencies are piloting a new billing approach combining retainers, usage, and fixed charges to improve accuracy and reduce manual work.

Genf Residential Market Analysis Using Signal Monitoring

Analysis of Genf’s residential market based on signal monitoring reveals Solvalor 61’s recent property purchase, indicating market activity shifts.

A Rant About “Technology” (2005)

Examining the 2005 essay ‘A Rant About Technology,’ its main themes, significance, and ongoing relevance in tech debates.

Show HN: Bor – Open-source Policy Management For Linux Desktops

Bor is an open-source system for centralized Linux desktop management, featuring a lightweight Go agent and a central server for policy streaming.