/* PR rtl-optimization/104839 */

__attribute__((noipa)) short
foo(void) {
    return -1;
}

__attribute__((noipa)) int
bar(void) {
    short i = foo();
    if (i == -2)
        return 2;
    long k = i;
    int j = -1;
    volatile long s = 300;
    if (k < 0) {
        k += s;
        if (k < 0)
            j = 0;
    } else if (k >= s)
        j = 0;
    if (j != -1)
        return 1;
    return 0;
}

int main() {
    if (bar() != 0)
        __builtin_abort();
    return 0;
}
