Both unittests fail: import std.math : pow; unittest { assert(pow(-513645318757045764096.0f,-2) > 0.0); assert(pow(-1.6299717435255677e+154,-2) < 0.0); }
Ups, should be "> 0.0" in the second test.
@berni44 created dlang/phobos pull request #7783 "Fix Issue 21601 - std.math : pow(float/double, -2) produces sometimes wrong result" fixing this issue: - Fix Issue 21601 - std.math : pow(float/double, -2) produces sometimes wrong result https://github.com/dlang/phobos/pull/7783
dlang/phobos pull request #7783 "Fix Issue 21601 - std.math : pow(float/double, -2) produces sometimes wrong result" was merged into master: - bab6c2b2114c067fac127b9291c2f7fd98d3ae53 by berni44: Fix Issue 21601 - std.math : pow(float/double, -2) produces sometimes wrong result https://github.com/dlang/phobos/pull/7783