uniform half4 color; half add(half a, half b) { half c = a + b; return c; } half mul(half a, half b) { return a * b; } half fma(half a, half b, half c) { return add(mul(a, b), c); } half4 main() { half a = fma(color.x, color.y, color.z); half b = fma(color.y, color.z, color.w); half c = fma(color.z, color.w, color.x); return half4(a, b, mul(c, c), mul(a, mul(b, c))); }