float4 PixelShaderFunction(float4 input) : COLOR0
{
    if (input == input)
        return input;

    if (input == input)
        return input;
    else
        return -input;

    if (input == input)
        ;

    if (input == input)
        ;
    else
        ;

    [flatten] if (input == input) {
        return input;
    }

    if (input == input) {
        return input;
    } else {
        return -input;
    }

	int ii;
	if (float ii = input.z)
	    ++ii;
	++ii;
}
