int64_t a, b, c, r; r = (a * b) / c; /* multiplication step could overflow so use 128bits */
__asm ( "mulq %[multiplier]\n" "divq %[divisor]\n" : "=a"(result) : "a"(num), [multiplier]"r"(multiplier), [divisor]"r"(divisor) : "rdx" );