
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 = _1_ok && _2_x == 34;
    _2_x = 30;
    _1_ok = _1_ok && _2_x == 30;
    _2_x = 64;
    _1_ok = _1_ok && _2_x == 64;
    _2_x = 16;
    _1_ok = _1_ok && _2_x == 16;
    _2_x = 1;
    _1_ok = _1_ok && _2_x == 1;
    _2_x = -2;
    _1_ok = _1_ok && _2_x == -2;
    _2_x = 3;
    _1_ok = _1_ok && _2_x == 3;
    _2_x = -4;
    _1_ok = _1_ok && _2_x == -4;
    _2_x = 5;
    _1_ok = _1_ok && _2_x == 5;
    _2_x = -6;
    _1_ok = _1_ok && _2_x == -6;
    _2_x = 7;
    _1_ok = _1_ok && _2_x == 7;
    _2_x = -8;
    _1_ok = _1_ok && _2_x == -8;
    _2_x = 9;
    _1_ok = _1_ok && _2_x == 9;
    _2_x = -10;
    _1_ok = _1_ok && _2_x == -10;
    _2_x = 11;
    _1_ok = _1_ok && _2_x == 11;
    _2_x = -12;
    _1_ok = _1_ok && _2_x == -12;
    _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_unknown;
    _1_ok = _1_ok && _2_x == _0_unknown;
    _2_x = 0;
    _1_ok = _1_ok && _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;
    _1_ok = _1_ok && _2_x == 0;
    _2_x = _0_unknown;
    _1_ok = _1_ok && _2_x == _0_unknown;
    _2_x = 0 / _0_unknown;
    _1_ok = _1_ok && _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;
}
