#version 140

void main()
{
    struct s {
        float y[5];
    } str;

    float t;
    int index = 5;  // all indexing is 4

    str.y[4] = 2.0;             // 2.0
    t = ++str.y[--index];       // 3.0
    str.y[4] += t;              // 6.0
    t = str.y[4]--;             // 5.0 (t = 6.0)
    str.y[index++] += t;        // 11.0
    --str.y[--index];           // 10.0

    float x = str.y[4];
	++x;
	--x;
	x++;
	x--;

	// x is 10.0

	float y = x * ++x;  // 10 * 11
	float z = y * x--;  // 110 * 11

    // x is 10.0
    // z is 1210.0

    vec4 v = vec4(1.0, 2.0, 3.0, 4.0);
    v.y = v.z--;  // (1,3,2,4)
    v.x = --v.w;  // (3,3,2,3)

    gl_FragColor = z * v;// (3630.0, 3630.0, 2420.0, 3630.0)
}
