Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 30 Jan 2019 22:14:01 +1100 (AEDT)
From: Damian McGuckin <>
To: Szabolcs Nagy <>
Subject: Re: Possible Mistype in exp.c

On Wed, 30 Jan 2019, Szabolcs Nagy wrote:

> i work at arm and i did this work there so i know the background.

That explains everything.

> there is not much published about the algorithms (although there aren't 
> many new ideas in the code,

Sadly, a lot of the existing ideas are not documented well. Even the texts 
on this topic seem to be lacking all the information to actually implement 
a fast low-level routine. They cover fundamentals well and important 
topics like error analysis but omit the basic techniques and little 
details and basic techniques that are needed to make it fast and still 
achieve that 1*ULP (or better) error bound.

> it's mostly about optimizing for modern cpus), but i plan to at least 
> put the polynomial and lookup table generation code in that repo.

Thanks. For some reason, I have this aversion to table lookup because 
suddenly there are lots more numbers hanging about. But, it certainly
helps to achieve optimal performance. I had a look at the GLIBC exp.c
which comes out of the Ultimate Libray done by IBM and I find that
inpossible to read/comprehend especially with its table lookups.

> the polynomial coefficients were generated with the sollya tool from 
> inria.

Yes, nice tool.  What range reduction is used for those routines and why 
are there several polynomials?  Just curious.

Regards - Damian

Pacific Engineering Systems International, 277-279 Broadway, Glebe NSW 2037
Ph:+61-2-8571-0847 .. Fx:+61-2-9692-9623 | unsolicited email not wanted here
Views & opinions here are mine and not those of any past or present employer

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.