rendered paste bodyold code:
coeffsU[0] = (1 - u) * (1 - u) * (1 - u);
coeffsU[1] = 3 * u * (1 - u) * (1 - u);
coeffsU[2] = 3 * u * u * (1 - u);
coeffsU[3] = u * u * u;
new code:
if (u != 1)
{
u[0] = pow(1 - u, GRID_WIDTH - 1);
i = 1;
if (i < 4)
u[i] = u[i - 1] * u / (1 - u);
u[i] *= (float)(4 - i) / i;
i++; // i == 2
if (i < 4)
u[i] = u[i - 1] * u / (1 - u);
u[i] *= (float)(4 - i) / i;
i++; // i == 3
if (i < 4)
u[i] = u[i - 1] * u / (1 - u);
u[i] *= (float)(4 - i) / i;
i++; // i == 4
if (i < 4) // won't enter
}
else
{
i = 0;
if (i < 4 - 1)
u[i] = 0
i++; // i == 1
if (i < 4 - 1)
u[i] = 0
i++; // i == 2
if (i < 4 - 1)
u[i] = 0
i++; // i == 3
if (i < 4 - 1) // won't enter
u[i] = i;
}