[libc-commits] [PATCH] D115828: [libc] Implement correctly rounded log2f based on RLIBM library.

Santosh Nagarakatte via Phabricator via libc-commits libc-commits at lists.llvm.org
Mon Dec 20 07:12:50 PST 2021

santoshn added a comment.

Dear Paul,

Yes, it has a non-zero constant term because it generates the correctly rounded round-to-odd result for a 34-bit floating point. When this is rounded to any FP representation with the 8 exponent bits and for any rounding mode in the standard, it produces the correctly rounded result. 
Here is our paper describing the result: https://people.cs.rutgers.edu/~sn349/papers/rlibmall-popl-2022.pdf

We plugged this polynomial locally in our infrastructure which uses the same range reduction and the same quintic polynomial evaluation, it produces correctly rounded results for all inputs and all inputs.  Are you observing that it is not producing the correct result for some inputs?


In D115828#3202691 <https://reviews.llvm.org/D115828#3202691>, @zimmermann6 wrote:

> Dear Santosh,
> this polynomial has a non-zero constant term, unlike the polynomial used in
> this patch, and the one produced by Sollya. How can it fit the current
> framework (see below)?
>   double r = __llvm_libc::fputil::polyeval(
>       d, extra_factor, 0x1.71547652c2801p+0, -0x1.715476ec167eep-1,
>       0x1.ec72eb4428a1ap-2, -0x1.72fd9daa7714fp-2, 0x1.8be682a823a9bp-2);
> Best regards,
> Paul

  rG LLVM Github Monorepo



More information about the libc-commits mailing list