float4 main() : SV_Position { float f1 = -1.#INF; float f2 = 1.#INF; float f3 = +1.#INF; float f4 = f2 * 1.#INF + 1.#INF; const float f5 = -1.#INF; // An infinity times zero is a NaN. // In IEEE 754, the sign of a NaN is significant only for // abs, copy, negate, or copySign. Use abs(.) here to // set the sign bit to zero. Otherwise, some platforms will // have a 1 sign bit and others will have a 0 sign bit. const float f6 = abs(f5 * 0.0f); return (float4)(f1 + f2 + f3 + f4 + f5 + f6); }