1uniform half4 colorRed, colorGreen; 2uniform half unknownInput; 3 4bool test() { 5 int unknown = int(unknownInput); 6 7 bool ok = true; 8 int x = 32 + 2; 9 ok = ok && (x == 34); 10 x = 32 - 2; 11 ok = ok && (x == 30); 12 x = 32 * 2; 13 ok = ok && (x == 64); 14 x = 32 / 2; 15 ok = ok && (x == 16); 16 x = -1 == -1 ? 1 : -1; 17 ok = ok && (x == 1); 18 x = -1 == -2 ? 2 : -2; 19 ok = ok && (x == -2); 20 x = 0 != 1 ? 3 : -3; 21 ok = ok && (x == 3); 22 x = 0 != 0 ? 4 : -4; 23 ok = ok && (x == -4); 24 x = 6 > 5 ? 5 : -5; 25 ok = ok && (x == 5); 26 x = 6 > 6 ? 6 : -6; 27 ok = ok && (x == -6); 28 x = -1 < 0 ? 7 : -7; 29 ok = ok && (x == 7); 30 x = 1 < 0 ? 8 : -8; 31 ok = ok && (x == -8); 32 x = 6 >= 6 ? 9 : -9; 33 ok = ok && (x == 9); 34 x = 6 >= 7 ? 10 : -10; 35 ok = ok && (x == -10); 36 x = 6 <= 6 ? 11 : -11; 37 ok = ok && (x == 11); 38 x = 6 <= 5 ? 12 : -12; 39 ok = ok && (x == -12); 40 41 x = unknown + 0; 42 ok = ok && (x == unknown); 43 x = 0 + unknown; 44 ok = ok && (x == unknown); 45 x = unknown - 0; 46 ok = ok && (x == unknown); 47 x = unknown * 0; 48 ok = ok && (x == 0); 49 x = unknown * 1; 50 ok = ok && (x == unknown); 51 x = 1 * unknown; 52 ok = ok && (x == unknown); 53 x = 0 * unknown; 54 ok = ok && (x == 0); 55 x = unknown / 1; 56 ok = ok && (x == unknown); 57 x = 0 / unknown; 58 ok = ok && (x == 0); 59 x += 1; 60 ok = ok && (x == 1); 61 x += 0; 62 ok = ok && (x == 1); 63 x -= 2; 64 ok = ok && (x == -1); 65 x -= 0; 66 ok = ok && (x == -1); 67 x *= 1; 68 ok = ok && (x == -1); 69 x *= 2; 70 ok = ok && (x == -2); 71 x /= 1; 72 ok = ok && (x == -2); 73 x /= 2; 74 ok = ok && (x == -1); 75 return ok; 76} 77 78half4 main(float2 coords) { 79 return test() ? colorGreen : colorRed; 80} 81