inline fn hypotFused(comptime F: type, x: F, y: F) F
inline fn hypotFused(comptime F: type, x: F, y: F) F { const r = @sqrt(@mulAdd(F, x, x, y * y)); const rr = r * r; const xx = x * x; const z = @mulAdd(F, -y, y, rr - xx) + @mulAdd(F, r, r, -rr) - @mulAdd(F, x, x, -xx); return r - z / (2 * r); }