`Math.ILogB` incorrectly uses TZCNT instead of LZCNT for subnormal values: https://github.com/dotnet/runtime/blob/8234fe364914d738ef3be766b8f2485985c1db05/src/libraries/System.Private.CoreLib/src/System/Math.cs#L898 `Math.ILogB(1e-308)` returns -1024 on .NET 8, and -1012 on .NET 9. The correct result is -1024.