#version 120

attribute vec3 v3;
attribute vec4 v4;

uniform mat3x2 m32;

const vec2 cv2 = vec2(10.0, 20.0);
const mat2x4 m24 = mat2x4(3.0);
const mat4x2 m42 = mat4x2(1.0, 2.0, 
                          3.0, 4.0,
                          5.0, 6.0, 
                          7.0, 8.0);

void main()
{
    mat2x3 m23;
    vec2 a, b;

    a = v3 * m23;
    b = m32 * v3;

    gl_Position = vec4(m23 * m32 * v3, m24[1][3]) + 
                  (m24 * m42) * v4 + cv2 * m42 + m24 * cv2 + vec4(cv2[1], cv2.x, m42[2][1], m42[2][0]);
}
