1*c8dee2aaSAndroid Build Coastguard Workeruniform half4 color; 2*c8dee2aaSAndroid Build Coastguard Worker 3*c8dee2aaSAndroid Build Coastguard Workerhalf add(half a, half b) { 4*c8dee2aaSAndroid Build Coastguard Worker half c = a + b; 5*c8dee2aaSAndroid Build Coastguard Worker return c; 6*c8dee2aaSAndroid Build Coastguard Worker} 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Workerhalf mul(half a, half b) { 9*c8dee2aaSAndroid Build Coastguard Worker return a * b; 10*c8dee2aaSAndroid Build Coastguard Worker} 11*c8dee2aaSAndroid Build Coastguard Worker 12*c8dee2aaSAndroid Build Coastguard Workerhalf fused_multiply_add(half a, half b, half c) { 13*c8dee2aaSAndroid Build Coastguard Worker return add(mul(a, b), c); 14*c8dee2aaSAndroid Build Coastguard Worker} 15*c8dee2aaSAndroid Build Coastguard Worker 16*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2 coords) { 17*c8dee2aaSAndroid Build Coastguard Worker half a = fused_multiply_add(color.x, color.y, color.z); 18*c8dee2aaSAndroid Build Coastguard Worker half b = fused_multiply_add(color.y, color.z, color.w); 19*c8dee2aaSAndroid Build Coastguard Worker half c = fused_multiply_add(color.z, color.w, color.x); 20*c8dee2aaSAndroid Build Coastguard Worker return half4(a, b, mul(c, c), mul(a, mul(b, c))); 21*c8dee2aaSAndroid Build Coastguard Worker} 22