
out vec4 sk_FragColor;
uniform vec4 colorRed;
uniform vec4 colorGreen;
uniform float unknownInput;
vec4 main() {
    int _0_unknown = int(unknownInput);
    bool _1_ok = true;
    int _2_x = 34;
    _1_ok = true;
    _2_x = 30;
    _1_ok = true;
    _2_x = 64;
    _1_ok = true;
    _2_x = 16;
    _1_ok = true;
    _2_x = 1;
    _1_ok = true;
    _2_x = -2;
    _1_ok = true;
    _2_x = 3;
    _1_ok = true;
    _2_x = -4;
    _1_ok = true;
    _2_x = 5;
    _1_ok = true;
    _2_x = -6;
    _1_ok = true;
    _2_x = 7;
    _1_ok = true;
    _2_x = -8;
    _1_ok = true;
    _2_x = 9;
    _1_ok = true;
    _2_x = -10;
    _1_ok = true;
    _2_x = 11;
    _1_ok = true;
    _2_x = -12;
    _1_ok = true;
    _2_x = _0_unknown;
    _1_ok = _2_x == _0_unknown;
    _2_x = _0_unknown;
    _1_ok = _1_ok && _2_x == _0_unknown;
    _2_x = _0_unknown;
    _1_ok = _1_ok && _2_x == _0_unknown;
    _2_x = 0;
    _2_x = _0_unknown;
    _1_ok = _1_ok && _2_x == _0_unknown;
    _2_x = _0_unknown;
    _1_ok = _1_ok && _2_x == _0_unknown;
    _2_x = 0;
    _2_x = _0_unknown;
    _1_ok = _1_ok && _2_x == _0_unknown;
    _2_x = 0;
    _2_x += 1;
    _1_ok = _1_ok && _2_x == 1;
    _1_ok = _1_ok && _2_x == 1;
    _2_x -= 2;
    _1_ok = _1_ok && _2_x == -1;
    _1_ok = _1_ok && _2_x == -1;
    _1_ok = _1_ok && _2_x == -1;
    _2_x *= 2;
    _1_ok = _1_ok && _2_x == -2;
    _1_ok = _1_ok && _2_x == -2;
    _2_x /= 2;
    _1_ok = _1_ok && _2_x == -1;
    return _1_ok ? colorGreen : colorRed;

}
