typedef int<4> int4; export uniform int width() { return programCount; } void inc(varying int4 * uniform v) { int4 delta = { 1, 1, 1, 1 }; (*v) += delta; } export void f_fu(uniform float ret[], uniform float aa[], uniform float b) { float a = aa[programIndex]; int4 v0 = { b, 2*b, 3*b, 2 }; inc(&v0); if (programIndex & 1) inc(&v0); ret[programIndex] = v0.z; } export void result(uniform float ret[]) { ret[programIndex] = 16; if (programIndex & 1) ++ret[programIndex]; }