
#include <limits.h>

u64 saturating_add(u64 a, u64 b) {
    u64 result;
    if (__builtin_add_overflow(a, b, &result)) {
        return UINT64_MAX;
    }
    return result;
}
