{
uint negZero = 0x80000000u;
uint signBit = negZero & asuint(s);
return asfloat(signBit | asuint(abs(x)));
return asfloat(BitFieldInsert(negZero, signBit, x));
}
#else
return (s >= 0) ? abs(x) : -abs(x);