#pragma MSP stage(vertex) layout(location=0) in vec4 position; layout(location=1) in vec4 v; void main() { float a = v.x-v.y; float b = v.z-v.w; float c = v.x-v.y; float d = v.z-v.w; float e = a-b; float f = c*d; gl_Position = position*(e+f); } /* Expected output: vertex layout(location=0) in vec4 position; layout(location=1) in vec4 v; void main() { gl_Position = position*((v.x-v.y-(v.z-v.w))+(v.x-v.y)*(v.z-v.w)); } */