public long accumulateAndGet(long x, LongBinaryOperator f) {
        long prev, next;
        do {
            prev = lvVal();
            next = f.applyAsLong(prev, x);
        } while (!casVal(prev, next));
        return next;
    }
{@link java.util.concurrent.atomic.AtomicLong#accumulateAndGet(long, LongBinaryOperator)}
jctools-core/src/main/java/org/jctools/util/PaddedAtomicLong.java