unsigned long inline_add(unsigned long a, unsigned long b) {
    unsigned long out;
    __asm__ volatile(
        "ADD.s64 %0, %1, %2"
        : "=l"(out)
        : "l"(a), "l"(b));
    return out;
}

