
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;
}
