//@ runBigIntEnabled

function assert(v, e, m) {
    if (v !== e)
        throw new Error(m);
}

assert(Object(2n) >= 1n, true, "Object(2n) >= 1n");
assert(1n >= Object(2n), false, "1n >= Object(2n)");
assert(Object(2n) >= Object(1n), true, "Object(2n) >= Object(1n)");
assert(Object(1n) >= Object(2n), false, "Object(1n) >= Object(2n)");

let o = {
    [Symbol.toPrimitive]: function() {
        return 2n;
    }
}

let o2 = {
    [Symbol.toPrimitive]: function() {
        return 1n;
    }
}

assert(o >= 1n, true, "ToPrimitive(2n) >= 1n");
assert(1n >= o, false, "1n >= ToPrimitive(2n)");
assert(o >= o2, true, "ToPrimitive(2n) >= ToPrimitive(1n)");
assert(o2 >= o, false, "ToPrimitive(1n) >= ToPrimitive(2n)");

o = {
    valueOf: function() {
        return 2n;
    }
}

o2 = {
    valueOf: function() {
        return 1n;
    }
}

assert(o >= 1n, true, "valueOf(2n) >= 1n");
assert(1n >= o, false, "1n >= valueOf(2n)");
assert(o >= o2, true, "valueOf(2n) >= valueOf(1n)");
assert(o2 >= o, false, "valueOf(1n) >= valueOf(2n)");

o = {
    toString: function() {
        return 2n;
    }
}

o2 = {
    toString: function() {
        return 1n;
    }
}

assert(o >= 1n, true, "toString(2n) >= 1n");
assert(1n >= o, false, "1n >= ToPrimitive(2n)");
assert(o >= o2, true, "toString(2n) < toString(1n)");
assert(o2 >= o, false, "toString(1n) < toString(2n)");

