Reverse-engineering the Intel 8087's tangent algorithm: more than CORDIC

110 points by pwg a day ago on hackernews | 11 comments

kens | a day ago

Author here for your 8087 questions...

WalterBright | 21 hours ago

Thank you! Amazing work! I've always had a soft spot for the 8087.

Maybe implement the algorithm in C? Thank would be fun!

jacquesm | 19 hours ago

Weitek next?
The 8087 is probably enough floating point for a while :-)

jacquesm | 14 hours ago

That's an interesting chip though, but probably also much more challenging.

jaygreco | 23 hours ago

Love these deep dives. It’s fascinating to see how real, low-level engineering we all take for granted today unfolded. It’s incredible that the rough equivalent of an entire 160lb digital computer was built and baked into silicon.

Also incredible reverse engineering. In a time when seemingly all appreciation for expertise is gone it’s so refreshing to see.

drob518 | 20 hours ago

The combination of numerical methods and low-level hardware is fascinating. Those 20th century engineers were both smart and creative.

cmovq | 20 hours ago

Always thought it was strange that fptan also pushes 1 to the register stack. It now makes sense it’s so existing code for the 8087 which was expected to do y/x to get the actual tangent could keep working by doing y/1 on newer processors.

heronbank | 16 hours ago

Always fascinated by the low-level cleverness in early hardware. It's a different world from today's abundant resources.

irfan_99 | 14 hours ago

its cool to do RE

Const-me | 12 hours ago

I remember I once wanted to compute tangent of fp64 vectors. Here’s what I did.

https://github.com/Const-me/AvxMath/blob/master/AvxMath/AvxM...