enum r1 = 3.05e2312L;
enum r2 = log2(3.05e2312L);
On FreeBSD_32 and FreeBSD_64_64 r1 is the correct real value, while r2 is infinity (and not ~7681.91).
I remember I found a fixed issue yesterday, which is about this, but can't find it anymore (therefore I judged this a regression). It pointed to a bug in the C routine, which is called underneath, and can't handle reals. It was fixed with a workaround.
Comment #1 by robert.schadek — 2024-12-01T16:38:35Z