void PixelShaderFunction(float4 input) : COLOR0
{
    int x;
    x;
    {
        float x;
        x;
        {
            bool x;
            x;
            {
                float3 x;
                x;
            }
            x;
        }
        x;
    }
    x;

    if (x > 0)
        bool x;

    while (x > 0)
        bool x;

    do {
        bool x;
    } while (x > 0);
}
