uniform float u1[4];
uniform float u2[4];
uniform float u3[4];
uniform float u4[16];
float4 main(float2 xy)
{
	float _0_sum = 0.0;
	for (int _1_i = 3;_1_i >= 0; --_1_i) 
	{
		_0_sum += u2[_1_i];
	}
	float _2_prod = 1.0;
	for (int _3_i = 0;_3_i < 4; ++_3_i) 
	{
		_2_prod *= u3[_3_i < 2 ? 0 : _3_i];
	}
	float _4_sum = 0.0;
	for (float _5_f = -2.2999999523162842;_5_f < 17.0; _5_f += 3.7000000476837158) 
	{
		if (_5_f > 0.0 && _5_f < 16.0) 
		{
			_4_sum -= u4[int(_5_f)];
		}
	}
	return half4(float4(u1[0], _0_sum, _2_prod, _4_sum));
}
